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 :

Mapping hibernate - Heritage & Collections


Sujet :

Hibernate Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti

    Inscrit en
    Décembre 2002
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 19
    Par défaut Mapping hibernate - Heritage & Collections
    Bonjour,

    Je cherche mais en vain, une solution pour realiser un mapping hibernate gerant une liste/bag/set (collection) pouvant contenir des objets de type different mais heritant de la meme classe. Je sais pas si c'est possible ??


    Je m'explique :

    Player ----> Rookie
    |
    |--------> Superstar


    Ici les classes rookie, sperstar herite de la classe player. La table player contient un champ (TEAM_ID) qui jouera le role de foreign key.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    CREATE TABLE  "PLAYER" 
       (	"PLAYER_ID" NUMBER(20,0), 
    	"PLAYER_NAME" VARCHAR2(255), 
    	"PLAYER_NUMBER" NUMBER(10,0), 
    	"TEAM_ID" NUMBER(20,0), 
    	 CONSTRAINT "PLAYER_ID_PK" PRIMARY KEY ("PLAYER_ID") ENABLE, 
      )


    Ayant deja defini un mapping gerant cet heritage (par n importe quelle solution discriminator /subclass-join /union)
    je souhaiterais creer un mapping exemple TEAM, qui contiendra une liste de tous les membres de l equipe (rookie, superstar).

    <class name="Team" table="TEAM" lazy="false">
    <id name="id" column="TEAM_ID">
    <generator class="native">
    <param name="sequence">SEQ_TEAM_ID</param>
    </generator>
    </id>
    <property name="name" column="TEAM_NAME"/>
    <property name="nbWon" column="NB_WON"/>
    <property name="nbLost" column="NB_LOST"/>
    <property name="nbPlayed" column="NB_PLAYED"/>

    <set name="teamPlayers" cascade="save-update" inverse="true" lazy="false">
    <key column="TEAM_ID" />
    <one-to-many class="?????" />
    </set>

    </class>


    Je pourrais effectivement creer une liste pour chaque type (rookie, superstar) grace a l attribut class mais ca ne m'interresse pas.

    Ou encore une classe qui encapsule la liste des rookie, superstar grace a une association n-aire ? (est ce la seule solution???)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <set name="teamPlayers" cascade="save-update" inverse="true" lazy="false">
        <key column="TEAM_ID" />
     
        <composite-element class="TeamPlayer">
                <one-to-many name="rookies"     class="Rookie"/>
                <one-to-many name="superstars" class="SuperStar"/>
        </composite-element>
     
      </set>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    class TeamPlayer{
     
    private List rookies;
    private List superstars;
     
    ...getter, setters.....
    }
    Merci pour vos lumieres....

  2. #2
    Membre averti

    Inscrit en
    Décembre 2002
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 19
    Par défaut
    Laisser tomber ma question c gerer nativement par hibernate, la liste contient des player des rookies ou des superstars, il est juste necessaire de faire un instanceof de la classe recuperer depuis la liste et c tout.........

    au niveau du mapping ca donne ca et puis c'est tout

    <set name="teamPlayers" cascade="save-update" inverse="true" lazy="false">
    <key column="TEAM_ID" />
    <one-to-many class="Player" />
    </set>


    a+.

    PS: la solution du composite-element n etait pas du tout la bonne, puisque moi mes enregistrements sont unique !

    vraiment cool ce petit framework...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 07/12/2009, 22h49
  2. Mapping Hibernate : <composite-id>
    Par tome tome dans le forum Hibernate
    Réponses: 6
    Dernier message: 10/11/2009, 14h18
  3. Réponses: 1
    Dernier message: 26/06/2006, 10h21
  4. [hibernate]pb sauvegarde collection
    Par riben dans le forum Hibernate
    Réponses: 2
    Dernier message: 07/06/2006, 16h52
  5. mapping hibernate
    Par enimiste dans le forum Hibernate
    Réponses: 11
    Dernier message: 16/05/2006, 11h20

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