Amikor egy Java Persistence API (JPA) egyedosztálynak van egy argumentumokkal rendelkező konstruktora, az osztálynak kell tartalmaznia egy argumentumok nélküli konstruktort is. Az OpenJPA megvalósítás automatikusan előállítja az argumentumok nélküli konstruktort, azonban az EclipseLink megvalósítás nem.
Ez a szabály @Entity vagy @MappedSuperclass
annotációval rendelkező egyedosztályokat keres. A szabály megjelöli a
konstruktorral rendelkező egyedosztályokat, amelyeknek nincs egy
argumentumok nélküli konstruktora is.
A gyorsjavítás hozzáad egy üres, argumentumok nélküli konstruktort az
osztályhoz.
Például a szabály megjelöli a következő egyedosztályt:
import javax.persistence.Entity; import javax.persistence.Id; @Entity public class MissingNoArgConstructorEntity { @Id private int id; public MissingNoArgConstructorEntity(int id) { this.id = id; } } |
A gyorsjavítás hozzáadja az argumentumok nélküli konstruktort:
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; } } |
A problémával és más OpenJPA - EclipseLink átállítási problémákkal kapcsolatos információkért tekintse meg az OpenJPA - EclipseLink JPA átállítás: Leképezések útmutatót.