IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Hibernate Java Discussion :

Certains champs null dans l'id


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9
    Par défaut Certains champs null dans l'id
    Bonjour,

    J'opère en ce moment sur une table dont l'id est composé de plusieurs champs qui peuvent parfois être à null.
    Lorsque je faire une requête par SQL Explorer, par exemple, ça marche très bien.
    Par contre, en passant par mon application Web, j'ai une erreur Java NullPointerException qui est due à ces id nuls.

    Je n'arrive pas a savoir si c'est une propriété des beans (car mon POJO en est un) ou d'Hibernate qui produit ce résultat.

    Est-ce que quelqu'un aurait déjà eu ce type de problème ?

    Pour le moment j'ai mis seulement un des champs de ma base en id dans mon POJO (qui lui n'est jamais null, mais pas unique non plus...) donc il y a des problèmes au niveau du résultat des requêtes (ce qui paraît normal).
    Je dois donc trouver une solution viable.

    Trois solutions:
    - permettre d'avoir deux id identiques (illogique mais pourquoi pas)
    - permettre d'avoir des colonnes à null dans l'id
    - ajouter une autre colonne (sachant que la table prend environ 100.000 lignes de plus par mois, une colonne de laquelle on peut se passer n'a rien a faire ici)

    Merci d'avance

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Un identifiant au sens clé primaire doit etre unique.
    Soit tu peux le garantir avec un clé composée de plusieurs colonnes, soit tu utilises une sequence ou equivalent qui te garantit l'unicité.
    Une clé composé de colonnes pouvant etre null est une bien mauvaise idée.

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9
    Par défaut
    Citation Envoyé par fr1man Voir le message
    Une clé composé de colonnes pouvant etre null est une bien mauvaise idée.
    En quoi c'est une mauvaise idée ?

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9
    Par défaut
    Constructif dis-donc ...

    Mais le post ne réponds pas à ma question !
    Qui est
    Citation Envoyé par Toldy Voir le message
    En quoi c'est une mauvaise idée ?

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 276
    Par défaut
    Comme c'est expliqué dans le post que je t'ai relayé, les SGBD vont refuser les valeurs null dans les clés primaires.
    Un clé est censé etre unique et non null.

    Pour moi une donnée à null est une donnée facultative, qui n'a rien à faire dans une clé primaire.

Discussions similaires

  1. Probleme de champs null dans un sous job.
    Par Koko22 dans le forum Développement de jobs
    Réponses: 7
    Dernier message: 24/11/2008, 15h31
  2. Permettre un champ Null dans un form
    Par amne26 dans le forum IHM
    Réponses: 3
    Dernier message: 27/09/2008, 12h19
  3. Problème champ NULL dans HTTPWebRequest
    Par thelpi dans le forum C#
    Réponses: 1
    Dernier message: 07/07/2008, 12h00
  4. Champs NULL dans une view
    Par Dohmaker dans le forum Langage SQL
    Réponses: 2
    Dernier message: 15/02/2008, 15h11
  5. Nbre de champs à NULL dans une table ?
    Par Pilgrimm01 dans le forum SQL
    Réponses: 4
    Dernier message: 17/07/2007, 15h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo