Ulozit do master tabulky ID posledniho detailu nebo i jeho stav. Lukas
2013/6/28 Rastislav Siekel <sie...@prosoft.sk>: > 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 > E-mail : <sie...@prosoft.sk> > Tel : 041/562 54 91 > Fax : 041/562 54 97 > Mobil : 0905 34 00 20 > > > > On 28. 6. 2013 9:24, Lukas wrote: > > 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 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 oprava nie je ukončená - prvý detail. Mňa zaujíma atribút > ukončenie len na poslednom detaile. > > Rastislav "Bedo" Siekel > > > > ________________________________ > Ing. Rastislav Siekel > Prosoft s.r.o., Kuzmányho 8, 010 01 Žilina, Slovakia > E-mail : <sie...@prosoft.sk> > Tel : 041/562 54 91 > Fax : 041/562 54 97 > Mobil : 0905 34 00 20 > > > > On 27. 6. 2013 18:44, Petr Franta wrote: > > Myslím si, že by to mělo jít vyřešit pomocí podmínky "exists" nebo "not > exists": > > SELECT xyz FROM master WHERE exists (SELECT 1 FROM detail WHERE > detail.master_id = master.id AND detail.sloupce <> konec) > > Nebo něco podobného. > > Petr > > 2013/6/27 Rastislav Siekel <sie...@prosoft.sk> >> >> Možno som to nenapísal úplne jasne - skúsim inak >> >> Mám záznamy o oprave - hlavičky, a ku každej môže byť 1 - N detailov >> (priebeh opravy, na poslednej je aj prípadne ukončenie). >> Vytváram SELECT pre zoznam opráv, ktoré ešte nemajú koniec, t.j. s >> podmienkou, či posledný detail ešte nemá zadaný koniec (tie predošlé ho >> určite nemajú zadaný, takže obyčajný JOIN by mi vybral všetky opravy, lebo >> ku každému master existuje určite aspoň jeden detail, ktorý vyhovuje >> podmienke). >> >> posledný detail zistím v SQL tak ako som uviedol nižšie. >> >> Rastislav "Bedo" Siekel >> >> >> P.S. >> >> >> >From detail d where d.master=:master order by d.order >> Tento príkaz vypíše pre 1 master všetky detaily, čo určite nie je to, čo >> hľadám. >> >> >> >> ________________________________ >> Ing. Rastislav Siekel >> Prosoft s.r.o., Kuzmányho 8, 010 01 Žilina, Slovakia >> E-mail : <sie...@prosoft.sk> >> Tel : 041/562 54 91 >> Fax : 041/562 54 97 >> Mobil : 0905 34 00 20 >> >> >> >> On 27. 6. 2013 16:11, Martin Beránek wrote: >> >> Není moc jasné zadání, ale hql >> >> From detail d where d.master=:master order by d.order >> >> Podle mě dělá co požadujete >> >> Martin >> >> Dne 27.6.2013 15:36 "Rastislav Siekel" <sie...@prosoft.sk> napsal(a): >>> >>> Otočiť to na vyhľadávanie "detail JOIN master" by v tomto prípade nešlo. >>> Výsledok má byť zoznam mastrov (filtrovaný na ďalšie podmienky) s tým, že sú >>> zadané podmienky aj na posledný detail. >>> >>> Principiálne hľadám, či je možné v Hibernate spraviť SELECT * FROM( >>> SELECT...) >>> >>> >>> Rastislav "Bedo" Siekel >>> >>> >>> ________________________________ >>> Ing. Rastislav Siekel >>> Prosoft s.r.o., Kuzmányho 8, 010 01 Žilina, Slovakia >>> E-mail : <sie...@prosoft.sk> >>> Tel : 041/562 54 91 >>> Fax : 041/562 54 97 >>> Mobil : 0905 34 00 20 >>> >>> >>> >>> On 27. 6. 2013 15:11, ŠVARC Jiří wrote: >>> >>> Nevím jestli jsem dobře porozuměl, ale nešlo by to realizovat vyhledáním >>> v seznamu detailů s kritériem odkazu na mastera, nastavením řazení a >>> query.setMaxResults(1)? >>> >>> >>> >>> ing. Jiří Švarc >>> Programmer Analyst >>> >>> >>> >>> Asseco Central Europe, a.s. >>> Solutions for Demanding Business >>> >>> Budějovická 778/3a, 140 00 Praha 4 >>> Czech Republic >>> Mobile: +420 737 944 536 >>> jiri.sv...@asseco-ce.com >>> www.asseco-ce.com >>> >>> >>> >>> From: konference-boun...@java.cz [mailto:konference-boun...@java.cz] On >>> Behalf Of Rastislav Siekel >>> Sent: Thursday, June 27, 2013 2:57 PM >>> To: Java >>> Subject: Hibernate SELECT bez FROM tabuľky >>> >>> >>> >>> Zdravím vospolok, >>> >>> chcel by som sa spýtať, či niekto neriešil nasledujúci problém: >>> >>> V Oracle mám tabuľky master a detail. Mám master a chcem k nemu nájsť >>> posledný detail, čo spravím v SQL takto: >>> >>> ... AND detail_id = >>> ( >>> SELECT * FROM >>> ( >>> SELECT detail_id >>> FROM detail >>> ORDER BY detail_time DESC >>> ) >>> WHERE rownum = 1 >>> ) >>> ... >>> >>> >>> Tu som narazil na problém, že Hibernate pomocou Criteria API asi nevie >>> spraviť "SELECT FROM (...) WHERE ...". >>> Aj DetachedCriteria, aj Criteria si vyžadujú Entitu (DTO), nad ktorou >>> pripravia SQL príkaz. Je nejaká možnosť ako toto obísť? >>> >>> Vďaka, >>> Rastislav "Bedo" Siekel >>> >>> >>> >>> ________________________________ >>> >>> Ing. Rastislav Siekel >>> Prosoft s.r.o., Kuzmányho 8, 010 01 Žilina, Slovakia >>> E-mail : <sie...@prosoft.sk> >>> Tel : 041/562 54 91 >>> Fax : 041/562 54 97 >>> Mobil : 0905 34 00 20 >>> >>> >>> >> > > >