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 classe plus qu'une fois


Sujet :

Hibernate Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 81
    Points : 38
    Points
    38
    Par défaut Mapper une classe plus qu'une fois
    Bonjour tous le monde :
    je veux utiliser une classe generique qui fonctionne avec plusieurs table

    j'ai cherché dans les doc et j'ai trouvé cette solution en ajoutant des nom d'entité

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
       <class name="Contract" table="Contracts"
    entity-name="CurrentContract">
    ...
    <set name="history" inverse="true"
    order-by="effectiveEndDate desc">
    <key column="currentContractId"/>
    <one-to-many entity-name="HistoricalContract"/>
    </set>
    </class>
    <class name="Contract" table="ContractHistory"
    entity-name="HistoricalContract">
    ...
    <many-to-one name="currentContract"
    column="currentContractId"
    entity-name="CurrentContract"/>
    </class>
    Mon probleme est comment lancer un select par exemple sur une table ?
    Si je mets session.createCriteria(Contract.class) comment il va reagir ?
    Si je lance des insert et des update sur l'objet Contract il va mettre à jour la table Contracts ou bien ContractHistory ?
    C quoi la solution pour gerer plusieurs tables avec une seule classe ?

    Merci d'avance pour votre réponse.

  2. #2
    Nouveau membre du Club
    Inscrit en
    Avril 2003
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 81
    Points : 38
    Points
    38
    Par défaut
    Quelqu'un peut m'aider svp ?

  3. #3
    Membre régulier Avatar de Mucho
    Inscrit en
    Décembre 2005
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 221
    Points : 109
    Points
    109
    Par défaut
    Pourquoi déclares tu la table directement liée à ta classe ?
    <class name="Contract" table="Contracts">

    il faudrait plutôt définir tes noms de tables lors de la définition de tes associations

  4. #4
    Membre confirmé
    Avatar de grishka
    Inscrit en
    Janvier 2003
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 285
    Points : 499
    Points
    499
    Par défaut
    Citation Envoyé par ensisoft

    C quoi la solution pour gerer plusieurs tables avec une seule classe ?

    Merci d'avance pour votre réponse.
    tu pourrais peut être utiliser l'héritage, avec une table par classe concrète (et polymorphisme implicite)
    "Les gens normaux croient que si ca marche, c'est qu'il n'y a rien à reparer. Les ingénieurs croient que si ca marche, c'est que ca ne fait pas encore assez de choses."
    --Scott Adams

Discussions similaires

  1. Instanciation d'une classe fille depuis une classe mère
    Par khaled-benloucif dans le forum Langage
    Réponses: 2
    Dernier message: 30/01/2009, 23h59
  2. Réponses: 7
    Dernier message: 25/08/2008, 16h13
  3. Réponses: 2
    Dernier message: 02/02/2008, 07h37
  4. Réponses: 27
    Dernier message: 03/01/2008, 11h07
  5. Réponses: 8
    Dernier message: 20/07/2007, 14h28

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