Bonjour,
Je suis nouveau dans ce domaine, j'utilise hibernate pour la 1er fois, et j'ai du mal à m'en sortir de ce problème.
J'ai une table T_1 qui a une relation avec elle même et T_2 c'est l'association de cette table.
Mon code avant était:
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 T_1 Id | Nom | ... A | enfant1 | ... B | enfant2 | ... C | enfant3 | ... D | pere | ... E | mere | ... T_2 parent_ID | enfant_ID D | A D | B D | C
Mais au lieu de la relation plusieurs enfant appartiennent à un parent, maintenant c'est plusieurs enfant appartiennent à plusieurs parent, du coup voici mon nouveau code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 @Audited(withModifiedFlag=true) @Entity @SecondaryTable(name = "T_2") public class T_2 { @Audited(targetAuditMode=RelationTargetAuditMode.NOT_AUDITED) @ManyToOne(fetch=FetchType.EAGER) @JoinColumns( @JoinColumn(name = "parendt_id", referencedColumnName = "enfant_id", table="T_2") ) protected Person p; ... }
J'ai remplacé manytoone par manytomany, mais le problème c'est qu'on j'inserts des éléments, la valeur parent_id s'enregistre dans la colonne enfant_id et vice-versa, j'ai changer les noms de collonnes au niveau de joincolumn mais maintenant il me lance l'exception Missing column parent_id dans la table T_1.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 @NotAudited @ManyToMany(fetch = FetchType.EAGER) @JoinTable(name = "T_2", joinColumns = { @JoinColumn(name = "parent_id", nullable = false, updatable = false) }, inverseJoinColumns = { @JoinColumn(name = "enfant_id", nullable = false, updatable = false) }) protected Set<Person> p; ... }
Avez-vous une idée comment résoudre ce problème?
Merci d'avance.
Partager