[Java lista] JPA Cascade törlés probléma

Zsombor gzsombor at gmail.com
2008. Okt. 24., P, 14:21:46 CEST


2008/10/24 Auth Gábor <auth.gabor at javaforum.hu>

> HalihĂł!
>
> anhuman ezt Ă­rta:
> > A persist tökéletesen megfut. A módosítással sincsen gond attribútum
> > szinten. Azonban ha az a_set-ből vagy a_set-ből törlők egy elemet azt
> > nem veszi, és nem törli a DB-be.
>
>   Tranzakció határok vannak? Mert amíg nem történik meg a commit, addig nem
> kell észrevenned, és a merge csak logikailag kiírásra jelöli, de a
> tényleges
> kiírás később is megtörténhet. Szerintem tedd REQUIRES_NEW módba azt az EJB
> metódust, amelyik ezt a törlést megcsinálja. Esetleg egy flush-t is tehetsz
> bele, próbaképpen.
> --
>  <http://www.javaforum.hu>



A flush sosem árt, de szerintem nem itt van a hiba - miután a többi
módosítása a kérdezőnek lefut szépen. Szerintem az van, hogy miután a
OneToMany kapcsolatoknál meg van adva mappedBy ezért a JPA nem követi, hogy
mit töröltél a halmazból, hanem úgy véli, hogy a B illetve C objektumokat
explicit fogod törölni. Tudom, szivás. Ezt eddig én csak hibernate
specifikusan tudtam megoldani, az itt leirtak szerint:

http://www.hibernate.org/hib_docs/annotations/reference/en/html/entity.html#entity-hibspec-cascade
Hogy ezt, hogyan kell EclipseLink/TopLink/etc JPA providereknél azt nem
tudom, de kiváncsian várom a hibernatet nem kedvelők megoldását :)

Zs
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: http://javagrund.hu/pipermail/javalist/attachments/20081024/8abca639/attachment.html 


További információk a(z) Javalist levelezőlistáról