[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