当 Java 持久性 API (JPA) 实体类具有带有该参数的构造函数时,该类还必须具有缺省的无参数构造函数。OpenJPA 实现会自动生成无参构造函数,但 EclipseLink 实现不会。
该实体类的规则扫描带有 @Entity 或 @MappedSuperclass 注释。 将标记有构造函数但也没有无参构造函数的实体类。
自动修复将为类添加一个空的无参数构造函数。
例如,规则标记以下实体类:
import javax.persistence.Entity; import javax.persistence.Id; @Entity 公用类 MissingNoArgConstructor实体 { @Id private int id; public MissingNoArgConstructorEntity (int id) { this.id = id; }}
自动修复将添加无参数构造函数:
import javax.persistence.Entity; import javax.persistence.Id; @Entity 公用类 MissingNoArgConstructor实体 { @Id private int 标识; public MissingNoArgConstructorEntity () { } public MissingNoArgConstructor实体 (int id) { this.id = id; }}
有关此问题和其他 OpenJPA 到 EclipseLink 迁移问题的信息,请参阅 OpenJPA to EclipseLink JPA Migration: Mappings 指南。