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

Odpovedet emailem