Zdravim,

Tak jsem to nakonec vyresil pomoci post-delete listeneru. Moc se mi nelibi, ze 
to nejde resit ve tride, ktera representuje ten uzivatelsky typ (nejaka 
notifikace, ze parent entita byla smazana, aby mel ten typ sanci si po sobe 
uklidit), nicmene funguje to spolehlive.

Honza

-----Původní zpráva-----
Od: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] za uživatele Jan Moravec
Odesláno: Sunday, September 16, 2007 10:18
Komu: 'Java'
Předmět: Hibernate a UserType ukladajici data mimo entitu


Zdravim,

Mam entitu (dale oznaceno jako parent entita), ktera obsahuje property a pro 
tuto property mam definovan user type. Ten user type uklada data te property do 
2 externich tabulek (tj. tabulek do kterych se neuklada rodicivska entita). Do 
tabulky rodicovske entity ten user type uklada pouze hodnotu FK, ktery ukazuje 
do jedne z tech externich tabulek. Z praktickych duvodu umyslne nepouzivam 
one-to-one asociaci pro mapovani te property - jde totiz o bezne pouzivany typ 
(lokalizovany string) pouzity na mnoha mistech a prijde mi 
jednodusi/elegantnejsi ho mapovat pomoci user typu, nez kostrbate pomoci 
asociaci.

Vse funguje skele az na delete, kdy je parent entity z db sice uspesne 
odstranena, ale v db zustavaji viset (jiz) nereferencovana data prislusejici 
tomu user typu. UserType v Hibernate mi pride spise staveny na pripady, kdy se 
jeho data ukladaji do parent entity (nullSafeGet, nullSafeSet metody) a chybi 
mi tam nejaka metoda parentDelete() volana v okamziku, kdy se maze rodicovska 
entita.

Jde toto resit nejak jinak nez napsanim si interceptoru, ktery bude provadet 
kontrolu typu properties mazane entity a pokud entita obsahuje property typu, 
ktere se ukladaji pomoci toho user typu, tak v te property nastavi nejaky flag, 
ktery v nullSafeSet zpusobi, ze se odstrani data prislusejici te property? To 
je jedine reseni, ktere me napadlo.

Diky,
Honza

Odpovedet emailem