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 :

Mapper une relation (*) -- (0,1)


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 4
    Par défaut Mapper une relation (*) -- (0,1)
    Bonjour,

    Voilà je tente de réaliser la mappage avec Hibernate 3 de la relation suivante :
    • Un membre peut avoir 0 ou 1 ville préférée.
    • Une ville peut être la ville préférée d'un ou plusieurs membres.


    Je ne trouve pas d'exemples traitant ce genre de cas dans la documentation Hibernate et Google ne m'aide pas trop sur ce coup là.

    Logiquement je devrais donc avoir une table pour mes membres, une autre pour mes villes et enfin une table qui permet de stocker la ville préférée de chaque membre qui en a choisi une.

    Malheureusement j'ai du mal à voir quelle solution me permet d'obtenir ce résultat. Si quelqu'un a déjà rencontré cette situation et qu'il peut me donner une piste, je suis preneur.

    Merci

    Julien

  2. #2
    Membre chevronné
    Profil pro
    Développeur Java
    Inscrit en
    Novembre 2007
    Messages
    301
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2007
    Messages : 301
    Par défaut
    Il n'y a rien de sorcier, dans la table Membre tu crées une clé étrangère (pouvant être nulle) qui réfère la clé primaire de la table VillePréféré.

  3. #3
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 4
    Par défaut Eviter la clé étrangère nulle
    Justement je ne souhaite pas créer une clé étrangère qui peut prendre une valeur nulle.

    Ce n'est pas spécialement conseillé dans un modèle. Cela est d'ailleurs rappelé dans la documentation d'Hibernate au tout début du chapitre 7 concernant le mapping des associations.

    Je souhaite donc avoir une table d'association qui contiennent la ville préférée des utilisateurs qui l'auront définie. Maintenant avec quel mapping obtenir quelquechose ainsi ?

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2006
    Messages : 121
    Par défaut
    J'ai exactement le même pb :s
    D'où ma question : http://www.developpez.net/forums/sho...d.php?t=569240

    Je n'ai pas tellement vu comment faire autrement alors ma clé étrangère peut être nulle. Ce qui est logique.
    Comme dans ton cas, le membre peut avoir une ville préféré (donc une entrée dans la table ville), ou pas (donc aucune existance dans ville).

    Une solution, est peut etre de rajouter un "etat" dans ta table membre qui indique si la personne a oui ou non une ville préférée.
    Mais cette approche a été refusé dans le cadre de mon projet.

    Si qqun a déjà rencontré ce pb avec hibernate, son expérience sera vraiment la bienvenue^^


    EDIT:
    J'ai trouvé un patch pour Hibernate 3.1 qui rajoute la possibilité de faire des OUTER JOIN en criteria.
    http://opensource.atlassian.com/proj...rowse/HHH-1276
    Par contre, est-ce que qqun saurait si ce patch a été implémenté par defaut dans Hibernate 3.2.6ga?
    Parce qu'intégrer un hibernate patché et maintenir l'appli à jour dans mon cas, cela va être plutot compliqué :s

Discussions similaires

  1. Mapper une relation de generalisation dans un DC avec hibernate
    Par thaundeadboss dans le forum Hibernate
    Réponses: 0
    Dernier message: 30/06/2009, 10h26
  2. mapper une relation d'héritage
    Par DoubleU dans le forum Hibernate
    Réponses: 3
    Dernier message: 29/11/2008, 02h19
  3. Réponses: 3
    Dernier message: 08/06/2006, 17h38
  4. Exploitation d'une table possédant une relation recursive
    Par VincentR dans le forum Langage SQL
    Réponses: 2
    Dernier message: 26/08/2004, 11h07
  5. [Mapping] Structure d'une relation
    Par k4eve dans le forum Hibernate
    Réponses: 6
    Dernier message: 27/04/2004, 11h19

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