JPA(Java Persistence API) 엔티티 클래스에 인수가 있는 생성자가 있는 경우 클래스에는 인수가 없는 기본 생성자도 있어야 합니다. OpenJPA 구현은 인수가 없는 생성자를 자동으로 생성하지만 EclipseLink 구현은 그렇지 않습니다.
이 규칙은 @Entity 또는 @MappedSuperclass 어노테이션이 있는 엔티티 클래스에 대해
스캔합니다. 생성자와 인수가 없는 생성자를 가지지 않는 엔티티 클래스에는 플래그가 지정됩니다.
빠른 수정사항은 비어 있고 인수가 없는 생성자를 클래스에 추가합니다.
예를 들어 규칙은 다음 엔티티 클래스에 플래그를 지정합니다.
import javax.persistence.Entity; import javax.persistence.Id; @Entity public class MissingNoArgConstructorEntity { @Id private int id; public MissingNoArgConstructorEntity(int id) { this.id = id; } } |
빠른 수정사항은 인수가 아닌 생성자를 추가합니다.
import javax.persistence.Entity; import javax.persistence.Id; @Entity public class MissingNoArgConstructorEntity { @Id private int id; public MissingNoArgConstructorEntity() { } public MissingNoArgConstructorEntity(int id) { this.id = id; } } |
이 문제 및 기타 OpenJPA에서 EclipseLink로의 마이그레이션 문제에 대한 정보는 OpenJPA에서 EclipseLink JPA로 마이그레이션: 맵핑 안내서를 참조하십시오.