Bonjour,
j'ai une relation OneToOne entre 2 entités via une table d'association :
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 @Entity @Table(name="table1") public class Table1 { @Id @GeneratedValue private int id; @Column(name="colTable1", nullable=false) private String colTable1; @OneToOne(cascade=CascadeType.ALL, optional=false) @JoinTable(name="associationtable", joinColumns = @JoinColumn(name="idTable1"), inverseJoinColumns = @JoinColumn(name="idTable2") private Table2 table2; ... }
et
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 @Entity @Table(name="table2") public class Table2 { @Id @GeneratedValue private int id; @Column(name="colTable2", nullable=false) private String colTable2; @OneToOne(cascade=CascadeType.ALL, optional=false) @JoinTable(name="associationtable", joinColumns = @JoinColumn(name="idTable2"), inverseJoinColumns = @JoinColumn(name="idTable1") private Table1 table1; ... }
Je voudrais mettre au niveau hibernate une contrainte qui fasse que la relation OneToOne soit strict : c'est à dire ne plus avoir de possibilité d'enregistrer du zero-or-one <> zero-or-one quand on svgd table1 ou table2.
Comment faire ?
Merci.
Partager