Bonjour,

je cherche à faire qq qui me semble pourtant pas compliquer mais qui s'avère apparemment impossible en JPA.

voila le contexte :

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
24
25
26
27
28
 
@MappedSuperClass
abstract class Mere {
   @OneToMany
   @MapKey(name="key")
   private Map<String, ClassA> classAs = new HashMap<String, ClassA>();
}
 
@Entity
class Fille1 {
}
 
@Entity
class Fille2 {
}
 
@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(discriminatorType = DiscriminatorType.STRING)
abstract class ClassA {
   @ManyToOne
   @JoinColumn(name = "Fille1_ID", referencedColumnName = "ID")
   private Fille1 fille1;
 
   @ManyToOne
   @JoinColumn(name = "Fille2_ID", referencedColumnName = "ID")
   private Fille2 fille2;
}
Mes tables sont Fille1(PK=ID), Fille2(PK=ID) et classa(PK=ID, FK_FILLE1, FK_FILLE2)

Pour une raison inconnue ou un mapping erroné, si je persite une instance de Fille1 avec classAs empty, j'ai une InstanciationException sur une tentative d'instanciation de ClassA

Pour commencer la discussion peut-on me valider le mapping ? Ensuite si y'a une solution je suis prenneur.

D'avance merci