Aller au contenu

[Hibernate]Peut-on récupérer des données croisées?

Featured Replies

Posté(e)

Bonjour,

Sur le projet de stage que je réalise actuellement, j'ai du me mettre à Hibernate assez vite, et même si pour la base c'est très simple, je coince un peu pour certains trucs plus complexes.

Alors voilà mon problème : je souhaite créer un objet 'UL' à partir de données en BDD (ça, j'y arrive).

Cet objet doit contenir une référence vers un objet de type 'Adresse' qui est construit en croisant des données. Techniquement, j'y arrive en écrivant une requête SQL, mais ce que je voudrais c'est que cet objet soit construit à la construction de l'objet 'UL', en se basant sur son ID

Je suis pas sûr d'être très clair, et comme je vous le dis je viens juste de me mettre à Hibernate, donc je nage un peu :chinois:

Posté(e)

Hibernate n'est là que pour te donner un moyen d'accès à la base.

Ensuite si tu veux initialiser ton objet à partir de données, il te suffit de refaire une requête à ce moment là.

Posté(e)

En gros ton objet 'UL' a une référence vers une adresse de type foreign key en base c'est ça ?

Si c'est bien ça, alors il te suffit de modifier le fichier de mapping de ton objet 'UL' pour faire apparaitre la relation vers ton objet adresse.

Il y a plusieurs type de relations (many-to-one, bag, ...), je te laisse regarder dans la doc d'hibernate pour en savoir plus et voir comment faire. Si tu as d'autres questions, je repasserai :francais:

@fabien29200 : je ne suis pas d'accord avec toi, le principal intérêt d'Hibernate est justement de faire pour toi l'initialisation de tes grappes d'objets à partir de la base...

Posté(e)
  • Auteur

Merci beuhbeuh, je vais regarder tout ça...

Et oui, en effet l'Objet 'UL' en base a bien une référence vers l'objet 'Adresse', donc Hibernate devrait (si j'ai bien compris ce que tu m'as dit) pouvoir faire la liaison tout seul comme un grand alors... :keskidit:

Posté(e)

Bah Hibernate est quand même un outil d'O/R mapping, et là-dedans, le 'R' veut quand même dire "Relationnal" :keskidit:

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.