En OpenJPA, cuando un atributo de relación tiene una anotación @OneToOne o @ManyToOne
con una anotación @Column, la anotación @Column se trata como una anotación @JoinColumn. EclipseLink lanza una excepción que indica que la clase de entidad debe utilizar @JoinColumn en lugar de @Column para correlacionar un atributo de relación.
Esta regla señala anotaciones @Column que se utilizan con anotaciones OneToOne o ManyToOne.
Una corrección automática sustituirá la anotación @Column por una anotación @JoinColumn anotación.
Todos los atributos de anotación correspondientes se copian en la anotación @JoinColumn.
Los elementos de javax.persistence.Column length, precision y scale no se copian.
Por ejemplo, esta regla señala la anotación Column en la clase de entidad siguiente:
import javax.persistence.Entity; import javax.persistence.Column; import javax.persistence.Id; import javax.persistence.ManyToOne; @Entity clase pública TransactionEntity { @Id private int id; private long transactionNumber; private double amount; @ManyToOne @Column(name = "account ") Cuenta privada ;}
Una corrección automática sustituirá la anotación @Column por una anotación @JoinColumn y proporciona las importaciones apropiadas.
import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.ManyToOne; import javax.persistence.JoinColumn; @Entity clase pública TransactionEntity { @Id private int id; private long transactionNumber; private double amount; @ManyToOne @JoinColumn(name = "account ") Cuenta privada ;}
Si desea más información sobre este problema y otros problemas de migración de OpenJPA a EclipseLink, consulte la guía Migración de OpenJPA a EclipseLink JPA: Correlaciones.