Problème de mapping d'interface
Bonjour, j'ai un problème de mapping que je n'arrive pas à résoudre avec les EJB3 et Hibernate. Je vous explique:
J'ai la hiérarchie d'objet dans mon model qui est la suivante:
Code:
1 2 3 4 5 6 7 8 9
| public interface I {}
public abstract class A implements I {}
public class D extends A {}
public class E extends A {}
puis une autre classe B :
public class B {
private I monI;
} |
Je souhaite mettre en persistance tout ce model, mais, j'ai un problème dans la classe B car monI est déclaré grâce à une interface. Voici ce que j'ai fais pour le moment.
Code:
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
|
public interface I {}
@AccessType("field")
@MappedSuperclass
public abstract class A implements I {}
@AccessType("field")
@Entity
@Table("D")
public class D extends A {}
@AccessType("field")
@Entity
@Table("E")
public class E extends A {}
puis une autre classe B :
@AccessType("field")
@Entity
@Table("B")
public class B {
@OneToOne
private I monI;
} |
Evidemment l'annotation @OneToOne n'est pas correcte dans la classe B, mais alors comment puis-je faire pour réussir à mettre en persistance cette classe B ? Il me faudrait quelque-chose permettant de spécifier l'interface "I" en tant qu' Entity, mais quoi ?
Merci.
Bouba