Bonjour,
Je viens de passer sur la maintenance d'un projet en J2EE, qui utilise les annotations Hibernate avec lesquels je ne suis pas familiarisé (mais je connais le mapping plus traditionnel).
Malgré toute mes recherches est des exemples qui correspondent à ce que j'ai fait, je n'arrive pas à mapper une nouvelle relation avec un @OneToMany bidirectionnel.
Voila des heures que je galère, je viens donc chercher votre aide pour me dire ce que je ne vois pas comme problème !
Alors en fait c'est à la base une relation de type many-to-many avec un attribut de classe, que j'ai donc transformer en relation One-to-Many<=>Many-To-One avec ma table de liaison, pour avoir mon attribut.
Voici mon code :
Classe Structure :
classe ITMODictionnary :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 [...] public Collection<ITMODictionnary> ITMOs @OneToMany( targetEntity=ITMODictionnary.class, mappedBy="structure", fetch=FetchType.EAGER) public Collection<ITMODictionnary> getITMOs() { return ITMOs; }
Classe DictionnaryValue :
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 [...] private Structure structure; private DictionnaryValue ITMO; @Id @ManyToOne @JoinColumn(name = "ID_STRUCT") public Structure getStructure() { return structure; } @Id @ManyToOne(fetch=FetchType.EAGER) @JoinColumn(name = "ID_ITMO") public DictionnaryValue getITMO() { return ITMO; }
J'ai aussi rajouté le mapping de la nouvelle classe dans le Hibernate.cfg.xml.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 [...] private Collection<ITMODictionnary> ITMOs; @OneToMany(mappedBy="ITMO") public Collection<ITMODictionnary> getITMOs() { return ITMOs; }
Et voici l'erreur Hibernate lors du démarrage de mon application :
org.hibernate.AnnotationException:
mappedBy reference an unknown target entity property: xxx.model.dictionnary.ITMODictionnary.structure
in
xxx.model.structure.Structure.ITMOs
Où est le problème ?
Partager