Bonjour,
j'ai deux tables :
table1 qui a trois champs qui compose son id(cle primaire),qui sont nume,numc,numd.
table2 qui a deux champs qui comose son id(cle primaire), qui sont nume,numc.
j'ai pu creer les 2 entités de table1 et table2, mais le probleme est lorsque je veux faire une jointure entre table1 et table2 de type (ManytoOne) signifie une relation plusieur de table1 avec une seul de table2 (relation de type1:n).
pour le test, je fais une requette qui comporte que les champs d'une table concerné ça marche exemple "select nume,numc,numd from table1". c'est le meme pour table2.
mais si je veux faire (select o from table1 o), ça ne marche pas à cause de class de table2PK, et voici le message d'erreur:
org.apache.jasper.JasperException: javax.faces.el.EvaluationException: Error getting property 'mpatronage' from bean of type webb.Beanpatronage: javax.ejb.EJBException: javax.persistence.EntityNotFoundException: Unable to find model.Table2 with id model.Table2PK@14f4b5e
comment faire?
voici une partie du code:
dans table1
.............
..........
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 @ManyToOne(optional=true) @JoinColumns({ @JoinColumn(name="NumE", referencedColumnName="NumE",insertable=false, updatable=false), @JoinColumn(name="NumC", referencedColumnName="NumC",insertable=false, updatable=false)}) private Table2 tab; public Table2 getTab(){ return this.tab; } public void setTab(Table2 dev){ this.tab=dev; }
et dans table2:
.........
.........
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 @EmbeddedId private Table2PK tab; public Table2PK getTab(){ return this.tab; } public void setTab(Integer numPiece,Integer numTM){ this.tab=new Table2PK(numPiece,numTM); this.tab.setNumPiece(numPiece); this.tab.setNumTM(numTM); }
Partager