Bonjour,
Je me tourne vers vous pour un problème de mapping dans mon application, voici la situation :
j aimerais arriver a réaliser un mapping JPA avec héritage assez particulier :
Lorsque je lance mon Glassfish 4 (avec un JDK8), aucune erreur de mapping est remontée. Mais lorsque j essaye de lire un objet de type "Fils" l'erreur :impossible de trouver la table nommé "mere" (logique puisque j aimerais il regarde dans la table "fille").
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
29 @MappedSuperclass public class Mere{...} @MappedSuperclass public class Pere{ private List<Mere> maList; } @Entity @Table(name="fille") public class Fille extends Mere implement serializable{...} @Entity @Table(name="fils") public class Fils extends Pere implement serializable{ ... @oneToMany public List<? extends Mere> getMaList(){...} public void setMaList(List<? extends Mere> pMaList) }
Points à savoir
- il n'y aura jamais de classe Fille2 ou Fils2
- les class Pere et Mere viennent d'un package auto-généré (import XJC de JAXB) et donc je veux y toucher le moins possible (si ma solution est possible) pour le cas de futurs évolutions. Donc j'aimerais éviter l'utilisation de @inheritance qui oblige un DTYPE dans la BDD et une intervention lourde en cas d'évolution majeur.
J ai recherché sur le net des possibilités mais pour l'instant je fais choux blanc :'(. Donc si quelqu'un aurait déjà eu ce cas ou aurait des pistes pour résoudre mon problème, Je vous en remercie d'avance.
Si vous avez besoin d'autres informations, je suis évidement à votre disposition
ps: je travaille avec Oracle, EclipseLink, glassfish4, JPA2 et la JDK8
Partager