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