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 : <composite-id>


Sujet :

Hibernate Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Mapping Hibernate : <composite-id>
    Bonjour à tous !

    Je rencontre un problème de mapping pour ma webapp, et au bout de 2 jours de recherches infructueuses sur notre ami , je vous expose ma question :

    J'ai une classe Information, qui doit être visible suivant certains critères :

    Une information dépend entre autres d'un environnement, et l'utilisateur qui les consulte a un certain profil.

    Pour vérifier "l'affichabilité" de l'information, j'ai une class InfoVisible : sa clé primaire sont des clés etrangères : la clé primaire de Information, celle de Environnement, et celle de Profil. De plus, elle contient un champ booléen "visible".

    Mon problème est que je n'arrive pas à mapper correctement cette classe InfoVisible : Si je ne lui mets pas de champ id, Hibernate grogne lors de la compilation. Et je n'ai pas trouvé la facon de le déclarer correctement.

    Dois-je déclarer un composite-id? Pour l'instant j'ai préféré chercher une autre solution, mais il me semble que je vais devoir m'y résoudre ...

    Merci pour vos réponses !
    Thom

  2. #2
    Membre éclairé Avatar de BizuR
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    688
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 688
    Points : 757
    Points
    757
    Par défaut
    Et bien, il me semble aussi que tu vas devoir t'y résoudre . un <composite-id> suivi de 3 <key-many-to-one> pourront t'être utiles

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Ma foi, quelle promptitude dans la réponse !

    Merci, je vais tenter ca, je vous tiendrai au courant du résultat !


  4. #4
    Futur Membre du Club
    Inscrit en
    Août 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Ben c'est impeccable, ca marche pile poil !

    Merci encore, et bonne journée !!

  5. #5
    Membre éclairé Avatar de BizuR
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    688
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 688
    Points : 757
    Points
    757
    Par défaut
    Essaie de mettre ta solution ici-même s'il te plait afin que les prochains puissent avoir un exemple concret de mappin sur clé composite. Et un petit résolu serait vraiment apprécié.

    Bon courage pour la suite

  6. #6
    Futur Membre du Club
    Inscrit en
    Août 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Le est déjà en place, mais effectivement, je peux vous mettre mon hbm.xml :

    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
    18
    19
    20
    21
    22
    23
     
    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping
        PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
     
    <hibernate-mapping>
     
    	<!-- INFO VISIBLE -->
    	<class name="fr.xxx.yyy.zzz.model.metier.InfoVisible" table="INFO_VISIBLE">
    		<composite-id>
    	 		<key-many-to-one name="profil" column="PRO_ID"
    					class="fr.xxx.yyy.zzz.model.metier.Profil"/>
    	 		<key-many-to-one name="information" column="INF_ID"
    					class="fr.xxx.yyy.zzz.model.metier.Information"/>
    	 		<key-many-to-one name="environnement" column="ENV_ID"
    					class="fr.xxx.yyy.zzz.model.metier.Environnement"/>
    	 	</composite-id>
     
    		<property name="visible" type="string" column="VISIBLE" />
    	</class>
     
    </hibernate-mapping>
    Bonne suite à toi BizuR !

  7. #7
    Candidat au Club
    Inscrit en
    Novembre 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Une petite remarque
    N'oubliez pas de poser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    implements Serializable
    dans la classe, qui a un <composite-id> dans le mapping!!!!!

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 09/05/2013, 23h37
  2. Réponses: 1
    Dernier message: 09/01/2013, 16h37
  3. Réponses: 7
    Dernier message: 07/12/2009, 22h49
  4. mettre a jour le fichier de mapping hibernate
    Par solawe dans le forum Hibernate
    Réponses: 3
    Dernier message: 13/12/2006, 21h14
  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