Vďaka za názor, ale príkaz
SELECT xyz FROM master WHERE exists (SELECT 1 FROM detail WHERE
detail.master_id = master.id AND
detail.sloupce konec)
vyberie všetky záznamy Master, pretože ku každému existuje nejaký
detail, ktorý hovorí, že
Denormalizujte schema a mate po problemu.
Lukas
Sent from Samsung Mobile
Original message
From: Rastislav Siekel sie...@prosoft.sk
Date:
To: Java konference@java.cz
Subject: Re: Hibernate SELECT bez FROM tabuľky
Vďaka za názor, ale príkaz
SELECT xyz FROM master
Zdravím.
Pracuji s něčím velmi podobným.
Mám master tabulku s detaily, přičemž detail má rozsah platnosti (2 x čas)
validFrom a validTo (asi souvisí s předchozí poznámkou o normalizaci).
Když vytahuju aktuální data, tahám primárně z tabulky master +
DetachedCriteria.LEFT_JOIN na data s
Toto som asi presne nepochopil. Čo sa
dá denormalizovať na master-detail väzbe, keď hľadám posledný
detail?
Rastislav "Bedo" Siekel
Ing. Rastislav Siekel
Prosoft s.r.o., Kuzmányho 8, 010 01 Žilina, Slovakia
Áno, tak som to nakoniec spravil - SQL
VIEW cez
SELECT master JOIN detail ... WHERE detail_id IN (SELECT
MAX(detail_id) KEEP (DENSE_RANK LIST ORDER BY time)...
Pre hibernate to namapujem ako 1:1 a všetky podmienky na master aj
detail tak budú úplne
Ahoj,
Když vytahuju aktuální data, tahám primárně z tabulky master
+ DetachedCriteria.LEFT_JOIN na data s podmínkou, že validTo =
null (pro aktuální záznam) nebo s intervalem pro nějaký čas.
Funguje to naprosto bez problému, vždy dostanu master záznam +
Aj som predpokladal, či nebolo myslené
takéto niečo.
Áno, fungovalo by to, ale ostatná funkcionalita by sa tomu musela
prispôsobiť. Teraz sa do záznamu značí kto a kedy ho menil a ešte
ide po každej zmene aj do iného systému na nejaký postprocesing -
Jestli vám vadí vyloženě to, že dostanete kolekci místo objektu (napr. kvuli
pouzivani gener. pojo objektu v jsf, velocity sablonach apod.),
tak pokud to máte tímto způsobem dělané všude,
můžete generovat pojo objekty tak, že generované třídy budou dědit z třídy,
kde bude metoda pro natažení