Ahoj,

a co neplnit vazbu na obou koncich.
Mapovani vazeb na obou stranach neni casto nutne. Kdyz je nepouzijete usetrite si spoustu problemu. Predpokladam, ze nepotrebuje v jedne session pridavat zaznamy a zaroven je nacitat z master objektu.
Misto setu detailu bych pouzil HQL nebo Crieteria API.
Viz http://blog.hibernate.org/cgi-bin/blosxom.cgi/2006/01/25#collectionmapping

   Lukas

[EMAIL PROTECTED] wrote:

Zdravím konferenci,

začínáme nový projekt ve Springu+Hibernate. Jakým způsobem doporučujete zajišťovat konzistenci obousměrných vazeb v modelu?
Mějme třídy Master, Detail a mezi nimi obousměrnou vazbu 1:N.
Master má metodu addDetail(), Detail má metodu setMaster().

1. Konzistenci zajišťuje přímo implementace metod addDetail(), setMaster() - volání každé jedné z nich zajistí naplnění vazby na obou "koncích" 2. Konzistenci zajišťuje klientský kód předepsaným voláním dvojic addDetail() && setMaster(). 3. Konzistenci zajišťuje "používání" Hibernate a příslušné mapování, konzistence je zaručena až po load()

Dosud jsem používal metodu 1), teď jsem však narazil při vytvoření Spring validátoru, který dělá db dotaz. Stručně - vytvořím nový Detail (tady zabere konzistence a je aktualizován model Mastera) a chci ho validovat. Před db dotazem ve validátoru však Hibernate provede sql příkazy včetně pokusu o update dosud nepersistentního Detailu na použitého Mastera.

Tedy - jak zajišťujete konzistenci modelu?
Pokud taky metodou 1, jak řešit nastíněný problém s validátorem?

Díky za odpovědi.

Jara



______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email ______________________________________________________________________

Odpovedet emailem