A privát hozzáférő metódusokat meg kell jelölni egy Transient annotációval

A JPA 2.1 specifikáció szerint, tulajdonság hozzáférés használatakor a tulajdonság hozzáférő metódusainak nyilvánosnak (public) vagy védettnek (protected) kell lenniük. Az OpenJPA figyelmen kívül hagyja a privát hozzáférő metódusokat, míg az EclipseLink tárolja ezeket az attribútumokat. A privát hozzáférő metódusok figyelmen kívül hagyásához az EclipseLink megvalósításban, a metódusoknak rendelkezniük kell egy Transient annotációval.

Ez a szabály megjelöli a privát hozzáférő lekérdező metódusokat. Ennek a szabálynak az automatikus javítása a javax.persistence.Transient megjegyzést a metódushoz, így az alkalmazás ugyanúgy viselkedik a EclipseLink oldalon, mint a OpenJPA oldalon. Az attribútum megőrzéséhez módosítsa a privát hozzáférés-szabályozó módosítót a következőre public vagy protected.

Például a szabály megjelöli a getNonPersistentField() metódust a következő egyedosztályban:

csomag egyedek;

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

@Entity
nyilvános osztály PrivateAccessor { privát int id; privát int mező; @Id nyilvános int getId() {
		return id;
	} nyilvános void setId(int id) { ez a.id = id;
	} privát int getNonPersistentField() { return nonPersistentField;
	} privát void setNonPersistentField(int érték) { this.field = érték;
	}}

Az automatikus javítás lefutása után a Tranziens megjegyzést alkalmazzuk a privát hozzáférési metódusra, és az importálás hozzáadásra kerül.

csomag egyedek;

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

@Entity
nyilvános osztály PrivateAccessor { privát int id; privát int mező; @Id nyilvános int getId() {
		return id;
	} nyilvános void setId(int id) { ez a.id = id;
	} @Transient privát int getNonPersistentField() { return nonPersistentField;
	} privát void setNonPersistentField(int érték) { this.field = érték;
	}}

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.