Az OpenJPA megvalósításban, amikor egy viszony attribútumnak van egy
@OneToOne vagy egy @ManyToOne
annotációja egy @Column annotációval, akkor a
@Column annotáció úgy működik, mintha egy
@JoinColumn annotáció lenne. Az EclipseLink egy kivételt
dob, ami jelzik, hogy az egyedosztálynak a @JoinColumn
annotációt kell használnia a @Column helyett egy
viszony attribútum leképezéséhez.
Ez a szabály megjelöli a @Column annotációkat,
amelyek a OneToOne vagy ManyToOne
annotációkkal együtt vannak használatban.
Egy automatikus javítás a @Column annotációt @JoinColumn annotációra cseréli.
Minden megfelelő annotáció attribútum át lesz másolva a
@JoinColumn annotációba.
A length, precision és scale
javax.persistence.Column elemek nem lesznek átmásolva.
Például ez a szabály megjelöli a Column annotációt a
következő osztályokban:
import javax.persistence.Entity; import javax.persistence.Column; import javax.persistence.Id; import javax.persistence.ManyToOne; @Entity nyilvános osztály TransactionEntity { @Id privát int id; privát hosszú transactionNumber; privát dupla összeg; @ManyToOne @Column(név = "fiók ") privát fiók fiók;}
Egy automatikus javítás a @Column annotációt @JoinColumn annotációra cseréli, és biztosítja a megfelelő importálásokat.
import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.ManyToOne; import javax.persistence.JoinColumn; @Entity nyilvános osztály TransactionEntity { @Id privát int id; privát hosszú transactionNumber; privát dupla összeg; @ManyToOne @JoinColumn(név = "fiók ") privát fiók fiók;}
A problémával és más OpenJPA - EclipseLink átállítási problémákkal kapcsolatos információkért tekintse meg az OpenJPA - EclipseLink JPA átállítás: Leképezések útmutatót.