151 votes

@Colonnes non autorisées sur une propriété @ManyToOne

J'ai une entité JPA avec une propriété définie comme

 @ManyToOne
@Column(name="LicenseeFK")
private Licensee licensee;
 

Mais lorsque je déploie sur JBoss 6, l'application génère une erreur en disant:

 org.hibernate.AnnotationException: @Column(s) not allowed on a @ManyToOne property
 

J'utilise Hibernate 3.5 comme implémentation de JPA 2.0.

Que dois-je utiliser pour référencer la colonne de clé étrangère?

309voto

kraftan Points 3061

Utilisez @JoinColumn au lieu de @Column :

 @ManyToOne
@JoinColumn(name="LicenseeFK")
private Licensee licensee;
 

8voto

Vaishali Kulkarni Points 116

Parfois, l'utilisation simultanée de @JoinColumn et de @Column entraîne la même erreur que Préférer @JoinColumn pour résoudre ce problème.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X