OpenJPA에서 관계 속성에 @Column 어노테이션이 있는 @OneToOne 또는 @ManyToOne
어노테이션이 있는 경우 @Column 어노테이션은 @JoinColumn
어노테이션으로 취급됩니다. EclipseLink는
엔티티 클래스에서 @Column 대신 @JoinColumn을 사용하여 관계 속성을 맵핑해야
함을 표시하는 예외를 처리합니다.
이 규칙은 OneToOne 또는 ManyToOne 어노테이션과 함께 사용되는 @Column
어노테이션에 플래그를 지정합니다. 빠른 수정사항은 @Column 어노테이션을 @JoinColumn 어노테이션으로
바꿉니다.
모든 해당 어노테이션 속성은 @JoinColumn 어노테이션에 복사됩니다.
javax.persistence.Column 요소인 length, precision 및
scale은 복사되지 않습니다.
예를 들어 이 규칙은 다음 엔티티 클래스의 Column 어노테이션에 플래그를 지정합니다.
import javax.persistence.Entity; import javax.persistence.Column; import javax.persistence.Id; import javax.persistence.ManyToOne; @Entity public class TransactionEntity { @Id private int id; private long transactionNumber; private double amount; @ManyToOne @Column(name="account") private Account account; } |
빠른 수정사항은 @Column 어노테이션을 @JoinColumn
어노테이션으로 대체하고 적절한 가져오기를 제공합니다.
import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.ManyToOne; import javax.persistence.JoinColumn; @Entity public class TransactionEntity { @Id private int id; private long transactionNumber; private double amount; @ManyToOne @JoinColumn(name="account") private Account account; } |
이 문제 및 기타 OpenJPA에서 EclipseLink로의 마이그레이션 문제에 대한 정보는 OpenJPA에서 EclipseLink JPA로 마이그레이션: 맵핑 안내서를 참조하십시오.