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

anhuman anhuman at freemail.hu
2008. Okt. 27., H, 15:03:03 CET


Kristof Jozsa írta:
> oke, akkor elolvastam megegyszer :)
>
> annyibol masrol beszelunk, hogy en azt hittem a parent-child
> viszonyban tortent valtozas nem megy le a kerdezonek a db-be. a
> delete-orphan (ha a gyereket szeretned ha teljesen torlodne ha a szulo
> mar nem referal ra) az mas tema, arra openjpa-ban ott a
> @ElementDependent, eclipselinkben a @PrivateOwned annotation.
>
> K
>
> 2008/10/27 Zsombor <gzsombor at gmail.com>:
>   
>> 2008/10/27 Kristof Jozsa <kristof.jozsa at gmail.com>
>>     
>>> te biztos hogy erted mi van? :)
>>>
>>> K
>>>       
>> Igen, ezért írtam, hogy ez még messze nem lesz elég, ha valóban törölni
>> akarja remove esetén az objektumot.
>>
>> Zs
>>
>>
>>
>>     
>>> 2008/10/27 Zsombor <gzsombor at gmail.com>:
>>>       
>>>> 2008/10/27 anhuman <anhuman at freemail.hu>
>>>>         
>>>>> Kristof Jozsa írta:
>>>>>           
>>>>>> @OneToMany( mappedBy="a_ref", fetch=FetchType.EAGER ,
>>>>>> cascade=CascadeType.ALL )
>>>>>> private Set<B> b_set;
>>>>>>
>>>>>> a mappedBy property miatt a Set feloli oldal az inverz oldala a
>>>>>> relacionak, ergo a tuloldalt tortent valtozasok alapjan fog updatelni
>>>>>> a JPA provider.
>>>>>>
>>>>>> A tiszta megoldas az A osztaly B-setjenek kozvetlen turkalasa helyett
>>>>>> az A osztalyban egy removeB() (es addB()) jellegu metodus bevezetese
>>>>>> ami mindket iranybol megtepi illetve epiti a relaciot, igy egyreszt
>>>>>> nem lesz inkonzisztens az objektummodelled, masreszt mindegy lesz
>>>>>> melyik az inverz oldala a mappelesnek.
>>>>>>
>>>>>> K
>>>>>>
>>>>>>             
>>>>> Köszönöm...
>>>>> Jó ötlet ... máris próbálom.
>>>>>
>>>>>           
>>>> Ezzel csak azt éred el, hogy a B-ben levő A-ra mutató referenciát
>>>> null-ra
>>>> fogja állítani - amit az adatbázis valószinüleg nem fog szeretni, ha van
>>>> foreign key.
>>>>
>>>> Zs
>>>>
>>>> _______________________________________________
>>>> Javalist mailing list
>>>> Javalist at javagrund.hu
>>>> http://javagrund.hu/mailman/listinfo/javalist
>>>>
>>>>
>>>>         
>>> _______________________________________________
>>> Javalist mailing list
>>> Javalist at javagrund.hu
>>> http://javagrund.hu/mailman/listinfo/javalist
>>>       
>> _______________________________________________
>> Javalist mailing list
>> Javalist at javagrund.hu
>> http://javagrund.hu/mailman/listinfo/javalist
>>
>>
>>     
> _______________________________________________
> Javalist mailing list
> Javalist at javagrund.hu
> http://javagrund.hu/mailman/listinfo/javalist
>
>
> __________ ESET NOD32 Antivirus - Vírusdefiníciós adatbázis: 3559 (20081027) __________
>
> Az üzenetet az ESET NOD32 Antivirus ellenőrizte.
>
> http://www.eset.hu
>
>   
Köszönöm az eddigi segítséget...
Közben én is végiggondoltam + teszteltem ... nemcsak a Kristof 
javaslatát hanem játszottam egy kicsi vele de sajna vissza kellet térnem 
a Hibernat-es DeleteOrphan annohoz.
De a kérdést még mindig fenntartom ... Miért is nem támogatja a Sun-os 
JPA? Vagy talán csak hiányzik még vmi a beállításokból?
Mégis ez lenne a lényege a cascade-nak...
Szóval ha van még vmi 5let akor szívesen kipróbálom

Legjobbakat ...


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


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