Hibernate

Jiří Mareš Jiri.Mares na svt.cz
Úterý Srpen 5 17:18:35 CEST 2003


Dobry den,

morim se tu s jednou veci. Zkusim ji nastinit, mam persistentni objekt 
pomoci hibernate, treba objednavka, ktery ma jistou expiraci. Abych 
ulehcil databazi rozhodl jsem se, ze v pripade expirace jej presunu do 
jine tabulky. Nechci jej smazat, aby uzivatel mohl nahlizet na svou 
historii, a zaroven nechci aby byl ve stejne tabulce jako ostatni 
aktivni objednavky.

Potu teorie a nyni praxe.

Rikal jsem si, ze udelam potomka classe Order, napr. ExpiredOrder, pro 
ktere nadefinuji mapovani do jine tabulky. To funguje az potud, ze v 
pripade, ze delam select z Order (pomoci hibernate), tak mi vrati i ty 
expired orders (je to chytri :-()

Pokud jsem udelal predka, napr. orderImpl, ktery definuje vsechny metody 
a pak jsem udelal 2 potomky, Order a ExpiredOrder, ktere maji definovane 
  stejne mapovani, ale do jinych tabulek, pak je problem, ze mi rika, ze 
nema mapovani pro OrderImpl :-(

Takze se ptam jak to obejit?

jeste me napadaji 2 varianty:

- udelat ExpiredOrder cele znova, bez dedicnosti na Order (bey 
OrderImp), ale to se mi nechce, budu mit kod 2x.

- udelat OrderImp a pak Order a ExpiredOrder budou obsahovat (skladani) 
OrderImpl a pouze nadefinuji metody, ktere budou volat metody OrderImpl, 
to je zase docela pracne :-(

Mate nekdo neco lepsiho?
-- 
Jiří Mareš (mailto:Jiri.Mares na svt.cz)
ČSAD SVT Praha, s.r.o. (http://www.svt.cz)
Czech Republic



Další informace o konferenci Konference