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 :

[Hibernate] Mapping problématique


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de BizuR
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    688
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 688
    Par défaut [Hibernate] Mapping problématique
    Bonjour a tous !

    J'ai quelques petites questions sur le mapping avancé d'hibernate :

    1/ Prenons le cas d'une classe "composant" (tag component). Cette classe utilise la même table que la classe du composé et en fait partie. Cependant, pour 1 champ du composant, je dois faire une jointure avec une autre table. La DTD ne permet pas le tag <join> sous <component> ... auriez vous une solution? (par exemple, est possible d'utiliser <component> sous <join> puis d'utiliser des champ de la table mère puis seulement de la table fille)

    2/ Pour remplir un champ, je dois m'inspirer de deux tables externes (jointure a faire) différentes (la valeur est soit dans l'un soit dans l'autre, mais les nom des champs sont identiques) ... avez vous une solution ?

    3/ Pour gérer le polymorphisme ... j'ai besoin d'un déterminant "avancé", c'est à dire nécessitant une condition sur plusieurs champs d'une table ... savez vous si cela est possible par le biais de l'attribut "formula" du tag <discriminator> ?

    Voila, si vous avez des idées, n'hésitez pas a me proposer des solutions ... merci.

  2. #2
    Membre chevronné

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 346
    Par défaut
    Hello,

    1/ moi j'utiliserait des many-to-one ou one-to-many en fonction de tes besions car eux sont accépté dans le tag component.
    2/ aucune iddée, je doute que l'on puisse faire ça, car ça ressemble à de la programmation et non à du mapping
    3/ connait pas

    Je sais que ce ne sera pas d'une grande aide mais c'est tout ce que je peut te donner

  3. #3
    Membre émérite Avatar de BizuR
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    688
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 688
    Par défaut
    C'est deja un début ! Merci bien, moi qui pleurait de n'avoir aucune proposition.

    Ta première proposition retient d'ailleurs mon attention, il est vrai que je n'avais en aucun cas songé à récupérer un attribut par le biais d'un one-to-one ... (et oui, en plus c'est une jointure vers un seul enregistrement !!!), je vais donc mettre cela en application dès maintenant.

    Pour les autres, je me doute bien qu'elles doivent être plus atypiques... je vais tenter de les détailler pour voir si ca vous dit plus de choses ...

    2/ J'ai une classe Risque, abstraite, dont héritent deux classes filles et le mapping doit se faire en "une table par classe concrete" (une table par fille). Le probleme est que ces classes contiennent une clé etrangere vers une Assurance. Ma question est donc, comment mapper Assurance qui contient un attribut de classe Risque ?

    3/ Je réalise cette fois ci un héritage "une table par hierarchie" (une table pour toutes les classes issues de ce polymorphisme). je dois donc utiliser un discriminant pour identifier les cas où je retrouverai telle ou telle classe. Or une de mes conditions pour qu'une classe soit instanciée résulte d'une condition sur 3 champs différents. Les discriminants "par défaut" permettent d'utiliser un seul champ spécifique différenciant chaque classe. En lisant la documentation Hibernate, ils parlent d'un attribut "formula" dans le tag discriminator....
    Ma question est donc :
    Cet attribut peut-il remplir ma condition ?
    Ou bien :
    A quoi sert-il plus précisement ?
    Est il un complément d'information en plus de la colonne discriminante ?
    Ou peut il carrément la remplacer (comme je le voudrai en fait) ?

    Merci d'avance si vous avez des précisions ou avis à apporter sur la question :p

  4. #4
    Membre émérite Avatar de BizuR
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    688
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 688
    Par défaut
    Personne n'est motivé par ces tites problématiques Hibernate ? Juste par anticipation ... pour ceux qui utilisent JPOX, j'aurai aussi besoin de réponses pour ces mêmes cas puisqu'ils semblent problématiques pour chaque frameworks de persistance.

    Sinon, j'ai fouillé et il semblerait justement que le discriminator@formula permettent la condition multiple ... reste maintenant je suppose a définir une strategy à "none" et une "formula" pour chaque sous classe de mon projet ... si certains d'entre vous ont eu des retours d'expréiences à ce sujet, je suis tout ouïe

    Merci d'avance !

Discussions similaires

  1. [Hibernate] mapping d'une collection
    Par Jorus dans le forum Hibernate
    Réponses: 22
    Dernier message: 01/12/2008, 17h16
  2. [Hibernate] Mapping d'association
    Par srvremi dans le forum Hibernate
    Réponses: 2
    Dernier message: 22/01/2006, 04h54
  3. [Hibernate] - Mapping Exception
    Par msiramy dans le forum Hibernate
    Réponses: 3
    Dernier message: 09/01/2006, 16h38
  4. [hibernate] Mapping avec identifiant composé
    Par miky_jo dans le forum Hibernate
    Réponses: 3
    Dernier message: 11/10/2005, 16h48
  5. [JDO]Hibernate : Mapping d'un champ auto-incrémenté
    Par brice.antoine dans le forum Hibernate
    Réponses: 4
    Dernier message: 02/04/2004, 10h36

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