Hibernate saveOrUpdate

Vlastimil Eliáš vlastimil.elias na qbizm.com
Pondělí Říjen 25 16:22:20 CEST 2004


Pokud je ten odkaz na Email mapovan jako one-to-many musite nastavit to 
cascade na
all-delete-orphan (mozna se to jmenuje trochu jinak, podivejte se do DTD).

Vlastik

Ondra Fafejta napsal(a):

> Cascade="all" nastaveno mám!
>
>
> viz. Osoba.hbm.xml
> ...
> <set name="emaily" inverse="true" lazy="false" cascade="all">
>            <key column="id_kontakt"/>
>            <one-to-many class="Email"/>
> </set>
> ...
>
> viz. Email.hbm.xml
> ...
> <many-to-one name="kontakt" class="Kontakt" column="id_kontakt" 
> not-null="true"/>
> ...
>
> Jiří Mareš wrote:
>
>> tag <set> ma atribut cascade, mozna vam pomuze nastavit mu hodnotu na 
>> "all". Jakou u nej mate hodnotu?
>>
>> Ondra Fafejta wrote:
>>
>>> Zdravím Vás!
>>>
>>> Mám problém s aktualizací záznamů v DB pomocí hibernate!
>>> Velmi zjednodušeně: existují dvě tabulky v databázi "osoba" a 
>>> "email". K jedné osobě může být více emailů.
>>> Tzn. v objektu Osoba.java je Set objektů typů Email.java.
>>>
>>> 1. Když vyplním celý objekt daty a uložím pomocí saveOrUpdate, vše 
>>> je OK
>>> 2. Pokud změním nějaké údaje v Osobě a přídám nějaký email, také je 
>>> vše OK
>>> 3. Pokud smažu množinu emailů a provedu saveOrUpdate, tak nedojde ke 
>>> smazání těch emailů z databáze!
>>>
>>> Lze nějak v hibernate nastavit, aby při aktualizaci kontroloval 
>>> obsah množiny a automaticky prováděl delete na záznamy, které se v 
>>> množině nevyskytují?
>>>
>>> Díky
>>> Fafi
>>>
>>>
>>
>
>

-- 
Ing. Vlastimil Elias                        Qbizm technologies, a.s.
vedouci analytik                            ... the art of software.
____________________________________________________________________
www.qbizm-technologies.cz    www.qbizm.cz      www.qbizm-services.cz




Další informace o konferenci Konference