[Java lista] Spring/Eclipselink - izolációs szintek
Mariák Kálmán
sirkalmi at kalmiesemese.hu
2011. Feb. 8., K, 21:14:01 CET
Ugyanaz az eredmény:
userExtension.setUser(user);
em.persist(user);
em.persist(userExtension);
user = em.merge(user);
em.refresh(user);
A refresh-re dobja:
Entity no longer exists in the database: User [id=302, active=f, address=yyy, ....
Érdekesség, hogy a vissza setelésre szükség van az update metódusomban is különben ugyanaz a helyzet mint a createNewUser esetén:
@Override
public void updateUser(User user, UserExtension userExtension) {
userExtension.setUser(user);
user = em.merge(user);
em.merge(userExtension);
user.setExtension(userExtension);
}
On Tue, 2011-02-08 at 20:07 +0100, Bartuszek Viktor wrote:
> Közben láttam, hogy megoldottad úgy, hogy közvetlenül set-elted. Arra
> azt válaszoltam volna többek közt, hogy
> akkor a refresh is menni fog, de ezzel meg most megleptél :O
>
> Legalábbis a no longer résszel... ha azt mondta volna, hogy not
> managed... bár azt sem értettem volna tranzakción belül.
> Érdekesség kedvéért:
>
> em.persist(user);
> user = em.merge(user);
> em.refresh(user);
>
> után mit mond?
További információk a(z) Javalist levelezőlistáról