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