Bonjour.
j'ai plusieurs tables qui on la même structure. j'ai donc fait des classes abstraites en utilisant @MappedSuperclass puis des classes dérivées @Entity spécifiant le nom de la table.
parmi ces ensembles de tables j'ai des relations 1-1, et 1-n
j'ai donc une Entitée Idoc qui dérive de AIdoc et un classe GmCode qui dérive de AGmCode
j'ai crée ces entité par reverse depuis ma base avec eclipse et JPA ne signale aucune erreurs
j'ai une relation 1-1 entre Idoc et GmCode
j'ai donc un membre protected Idoc idoc dans GmCode et un membre protected GmCode gmCode dans Idoc
le tout est annoté
Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 //dans GmCode @JoinColumn(name="ID_IDOC", referencedColumnName="ID_IDOC", nullable=true, insertable=true, updatable=false) protected Idoc idoc; public Idoc getIdoc() { return this.idoc; } public void setIdoc(Idoc idoc) { this.idoc = idoc; }Mais je ne peux pas persisté mes objets.
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 //dans Idoc @Id @Column(name="ID_IDOC", nullable=false, length=16) private String idIdoc; //bi-directional one-to-one association to Idoc @OneToOne(mappedBy="GmCode", cascade=CascadeType.ALL) protected GmCode gmCode; public GmCode getGmCode() { return gmCode; } public void setGmCode(GmCode gmCode) { this.gmCode = gmCode; }
toutes mes classes sont dans le fichier xml et je peux les persisté si je retire les annotations concernant les relations
mais si je mets la relation j'ai
Code error : Sélectionner tout - Visualiser dans une fenêtre à part org.apache.openjpa.persistence.ArgumentException: "fr.aphp.ati.eai.hermes.ng485.model.GmCode.idoc" has columns with targets, but OpenJPA does not support any joins on this mapping in this context.
j'ajoute que je suis sous JUNIT
A+JYT








Répondre avec citation
Partager