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

anhuman anhuman at freemail.hu
2008. Okt. 27., H, 09:43:56 CET


>     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.
>     --
>
>
>
> 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
>
Sziasztok!
Köszönöm a segítséget. Sajnos a Hibernate hekkinges megoldás lett a 
nyerő, mert nem tudtam sima JPA-s megoldani. Egyébként tényleg, amint 
elvettem a referenciát a gyerek objektumtól, azonnal törölt... így 
azonban a persisttel lett gond, hiszen az FK-t nem állította be.
Azonban továbbra is várom a javaslatokat, mert egyszerűen nem tudom 
elhinni, hogy ez a funkció (kaszkádolás) ne működjön ALL-ra.

Még egyszer köszi a segítséget.

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


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