Bonjour,

Je n'arrive pas à mapper 2 tables de ma base.

Table mère : RefCollectivite --> Table fille : ColPlanCompteM61 (avec la colonne refCollectiviteFk pour fk vers la table mère)

Lorsque je veux afficher ColPlanCompteM61 dans un tableau, j'obtiens une erreur (à la fin de ce post).

Merci.

Table RefCollectivite :

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
@Entity
@Table(name = "RefCollectivite")
public class RefCollectivite implements Serializable {

    @OneToMany(cascade = CascadeType.REMOVE)
    private List<ColPlanCompteM61> listePlanCompteM61;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int idPk;

    private String libelle;

    public RefCollectivite() {
    }

Table ColPlanCompteM61 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
@Entity
@Table(name = "ColPlanCompteM61")
public class ColPlanCompteM61 implements Serializable{

    @ManyToOne
    @JoinColumn(name = "refCollectiviteFk", referencedColumnName = "refCollectiviteFk", insertable=false, updatable=false)
    private RefCollectivite refCollectivite;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int idPk;
    
    private int refCollectiviteFk;

Erreur :

Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.6.1.v20150605-31e8258): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLSyntaxErrorException:
La colonne 'REFCOLLECTIVITEFK' ne se trouve dans aucune table de la liste FROM, figure dans une spécification de jointure et se trouve en dehors de la portée de cette spécification, ou figure dans une clause HAVING mais ne se trouve pas dans la liste GROUP BY.
S'il s'agit d'une instruction CREATE ou ALTER TABLE, 'REFCOLLECTIVITEFK' n'est pas une colonne de la table cible.
Error Code: 30000
Call: SELECT IDPK, LIBELLE FROM RefCollectivite WHERE (refCollectiviteFk = ?) bind => [1 parameter bound]
Query: ReadObjectQuery(name="refCollectivite" referenceClass=RefCollectivite sql="SELECT IDPK, LIBELLE FROM RefCollectivite WHERE (refCollectiviteFk = ?)")