속성에 @ElementCollection 어노테이션이 있는
경우 속성 ID와 값이 포함된
속성에 대해 별도의 테이블이 작성됩니다. OpenJPA에서 어노테이션이 있는 속성의 열은 element로 이름 지정되지만
EclipseLink는 속성 이름에 따라 열의 이름을 지정합니다. OpenJPA를 사용하여 작성된 테이블과
계속 호환할 수 있으려면 name 속성이 element로 설정된 @Column
어노테이션을 추가하십시오.
이 규칙은 name 속성이 있는 @Column 어노테이션이 없는
@ElementCollection 어노테이션에 대해 스캔합니다.
자동화된 수정은 @Column 어노테이션을 추가하거나 이름 속성이 없는 기존 이름 속성이 없는 @Column 어노테이션을 편집합니다.
예를 들어 @Column 어노테이션이 없으므로 규칙은 다음 필드 액세스 엔티티 클래스에서 @ElementCollection
어노테이션에 플래그를 지정합니다.
가져오기 java.util.List; 가져오기 javax.persistence.ElementCollection; 가져오기 javax.persistence.Entity; 가져오기 javax.persistence.Id; @Entity 공용 클래스 ElementCollectionEntity {@Id private int id; @ElementCollection private List <String> listofStrings;}
자동 수정은 @Column 어노테이션을 추가합니다.
가져오기 java.util.List; 가져오기 javax.persistence.ElementCollection; 가져오기 javax.persistence.Entity; 가져오기 javax.persistence.Id; @Entity 공용 클래스 ElementCollectionEntity {@Id private int id; @ElementCollection @Column(name = "element") private List <String> listofStrings;}
이 문제 및 기타 OpenJPA에서 EclipseLink로의 마이그레이션 문제에 대한 정보는 OpenJPA에서 EclipseLink JPA로 마이그레이션: 맵핑 안내서를 참조하십시오.