Amikor egy attribútum meg van jelölve az @ElementCollection
annotációval, egy külön tábla kerül létrehozásra az attribútumhoz, amely
az attribútum azonosítóját és értékét tartalmazza.
Az OpenJPA megvalósításban az annotációval ellátott attribútum oszlopának
neve element, míg az EclipseLink az oszlopot az attribútum
neve alapján nevezi el. Az
OpenJPA megvalósításban létrehozott táblákkal való kompatibilitás megőrzése
érdekében adjon hozzá egy @Column annotációt
element értékre beállított name attribútummal.
Ez a szabály megkeresi az @ElementCollection annotációkat,
amelyek nem rendelkeznek name attribútumot tartalmazó
@Column annotációval.
Az automatikus javítás hozzáad egy @Column megjegyzést vagy szerkeszti a meglévő @Column megjegyzést, amely nem rendelkezik name attribútummal.
Például a szabály megjelöli az @ElementCollection annotációt
a következő mezőhozzáférési egyedosztályban, mert az nem tartalmaz egy
@Column annotációt.
import java.util.List; import javax.persistence.ElementCollection; import javax.persistence.Entity; import javax.persistence.Id; @Entity nyilvános osztály ElementCollectionentitás {@Id privát int id; @ElementCollection privát List <karaktersorozat> listofStrings;}
Az automatikus javítás hozzáadja a @Column megjegyzést.
import java.util.List; import javax.persistence.ElementCollection; import javax.persistence.Entity; import javax.persistence.Id; @Entity nyilvános osztály ElementCollectionentitás {@Id privát int id; @ElementCollection @Column(név = "elem") privát lista:karaktersorozat> listofStrings;}
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.