Az annotációval meg nem jelölt gyűjtemény attribútumok egy Transient annotációt igényelnek

Az OpenJPA esetén a java.util.Collection<E> felületből öröklő attribútumok nem alapértelmezett perzisztencia típusúak, így ezek az attribútumok csak akkor lesznek tárolva, ha meg vannak jelölve annotációval. Az EclipseLink alapértelmezett viselkedése eltérő, és megkísérli tárolni ezeket az attribútumokat az adatbázisban. Ha meg szeretné tartani az OpenJPA viselkedést, amely figyelmen kívül hagyja az annotáció nélküli gyűjtemény attribútumokat, akkor EclipseLink környezetben adja hozzá a javax.persistence.Transient annotációt ezekhez az attribútumokhoz.

Ez a szabály megjelöli a JPA annotációkkal nem rendelkező attribútumokat, amelyek a java.util.Collection<E> felülettől öröklődnek, beleértve a következő alfelületeket:

A következő Entity osztályban a szabály megjelöli a collectionField és a listField attribútumokat.

import java.util.Collection;
import java.util.List;

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

@Entity
nyilvános osztály UnannotatedCollectionentitás {
    @Id privát int id; privát Collection collectionField; privát ListField;}

Az automatikus javítás hozzáadja a @Transient megjegyzést és az import utasítást.

import java.util.Collection;
import java.util.List;

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

@Entity
nyilvános osztály UnannotatedCollectionentitás {
    @Id privát int id; @Transient private Collection collectionField;
    @Transient privát ListField;}

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.