Wenn eine Java Persistence API (JPA)-Entitätsklasse einen Konstruktor mit Argumenten hat, muss die Klasse auch einen Standardkonstuktor ohne Argumente haben. Die OpenJPA-Implementierung generiert automatisch den Konstruktor ohne Argumente, aber die EclipseLink-Implementierung nicht.
Diese Regel sucht nach Entitätsklasse mit der Annotation @Entity oder @MappedSuperclass.
Entitätsklassen mit Konstruktoren, die keinen Konstruktor ohne Argumente haben, werden markiert.
Die Schnellkorrektur fügt der Klasse einen Konstruktor ohne Argumente hinzu.
Die Regel markiert beispielsweise die folgende Entitätsklasse:
import javax.persistence.Entity; import javax.persistence.Id; @Entity public class MissingNoArgConstructorEntity { @Id private int id; public MissingNoArgConstructorEntity(int id) { this.id = id; } } |
Die Schnellkorrektur fügt den Konstruktor ohne Argumente hinzu:
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; } } |
Informationen zu diesem Problem und zu weiteren Problemen bei der Migration von OpenJPA auf EclipseLink finden Sie in der Veröffentlichung OpenJPA to EclipseLink JPA Migration: Mappings.