JPA : Héritage entre les entity [EclipseLink]

JPA : Héritage entre les entity [EclipseLink] - Java - Programmation

Marsh Posté le 27-11-2012 à 13:38:11    

Bonjour à tous,
 
Je développe actuellement une application JPA/Spring (sans EJB) et je suis confronté à un problème assez déconcertant.
 
Je dois faire un audit trail sur une table à la manière de Hibernate Envers mais je dois utiliser EclipseLink comme implémentation JPA. J'essaie donc de coder le plus simplement possible un audit fiable.  :heink:  
 
J'essaie de créer automatiquement ma table d'audit en faisant hériter mon entity d'audit (A_audit) de mon entity métier (A). Le problème est que EclipseLink ne me créé pas de table supplémentaire mais il met les champs de A_audit dans la table correspondant à l'entity A. :fou:  
 
En rajoutant l'annotation @MappedSuperclass sur mon entity A, même résultat ...  
 
Des idées? :pt1cable:


---------------
Venez jeter un oeil à mon site : http://excusetoi.fr/mieux_notes
Reply

Marsh Posté le 27-11-2012 à 13:38:11   

Reply

Marsh Posté le 27-11-2012 à 15:13:01    

J'ai annoté la classe à auditer (qui s'appelle en réalité Context1) avec @Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
 
mais là, EclipseLink me dit :
Exception Description: Class [class net.diamis.mph.common.entities.history.Context1History] has two @GeneratedValues: for fields [CONTEXT_1_HISTORY.ID] and [CONTEXT_1_HISTORY.HIST_ID]. Only one is allowed.
 
Le champ ID est celui hérité de la classe Context1...


---------------
Venez jeter un oeil à mon site : http://excusetoi.fr/mieux_notes
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed