Os objetos de entidade com construtores também devem ter um construtor padrão

Quando uma classe de entidade de API de Persistência Java (JPA) possui um construtor com argumentos, a classe também deve ter um construtor sem argumento padrão. A implementação OpenJPA automaticamente gera o construtor sem argumento, mas a implementação EclipseLink não.

Esta regra faz a varredura para encontrar classes de entidade com as anotações @Entity ou @MappedSuperclass. Classes de entidade com construtores que também não possuem um construtor sem argumento são sinalizadas. A correção automática adicionará um construtor vazio sem argumento à classe.

Por exemplo, a regra sinaliza a classe de entidade a seguir:

import javax.persistence.Entity;
import javax.persistence.Id;

@Entity
classe pública MissingNoArgConstructorEntidade {
    @Id private int id; public MissingNoArgConstructorEntidade (int id) { este.id = id;
    }}

A correção automatizada adicionará o construtor sem argumento:

import javax.persistence.Entity;
import javax.persistence.Id;

@Entity
classe pública MissingNoArgConstructorEntidade {
    @Id private int id; public MissingNoArgConstructorEntity () {
    } public MissingNoArgConstructorEntity (int id) { this.id = id;
    }}

Para obter informações sobre esse problema e outros problemas de migração do OpenJPA para o EclipseLink, consulte o guia Migração do OpenJPA para o EclipseLink JPA: mapeamentos.