Java >> Java tutorial >  >> Tag >> transient

@Forbigående fungerer ikke i dvale

Kan du prøve at oprette setter og getter for feltet og annotere get-metoden med @Transient , som følger:

private String ldapIdTemp;

 @Transient
 public String getLdapIdTemp() {
    return ldapIdTemp;
 }

 public void setLdapIdTemp(String ldapIdTemp) {
    this.ldapIdTemp = ldapIdTemp;
 }

Meget afhænger af, hvordan du "integrerede" dette felt i din Entity eller klassehierarki. Desuden felt kontra ejendom -adgang kan forårsage et problem for din indstilling. Se dette indlæg for en detaljeret forklaring.

I dit tilfælde kunne jeg forestille mig, at du enten:

  1. blandet felt- og ejendomsadgang i din enhedsarvsstrategi
  2. brug XML-baseret konfiguration til Hibernate i din applikation.

I begge tilfælde angiver JPA 2.0/2.1-specifikationen klart i afsnit 2.3.1:

Det er en fejl, hvis en standardadgangstype ikke kan bestemmes, og en adgangstype ikke er eksplicit angivet ved hjælp af anmærkninger eller XML-deskriptoren. Opførslen af ​​applikationer, der blander placeringen af ​​noter på felter og egenskaber inden for et enhedshierarki uden eksplicit at specificere Access-annoteringen er udefineret.

Tjek venligst, at din vedvarende Entity klasser har enten felt ELLER ejendom -baserede annoteringer.


Tjek @Transient annotation fuldt kvalificeret navn. Det kan være fra enten,org.springframework.data.annotation.Transient eller javax.persistence.Transient .

Prøv at bruge javax.persistence.Transient .


Java tag