带有构造函数的实体对象必须具有缺省构造函数

当 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 指南。