Dobrý den, mně to přijde spíš jako problém pro analytické funkce. Něco jako: select min(detail_id) keep (dense_rank first order by detail_time desc) from detail Ano, syntaxe je pro ANSI sqlistu hrozná, ale je to silný nástroj.
Každopádně myslím, že otázkou "jak udělám v Criteria API select z poddotazu" už řešitele zbytečně svazujete. Někdy je lepší se netrápit hlavolamem, jak nacpat nějaký nestandardní dotaz do Criteria API nebo HQL, když tu je x způsobů, jak to udělat v SQL a jsou snad i čitelnější, typicky např. session.createSQLQuery("select {m.*} from master {m} ...").addEntity("m",Master.class).list() A i kdybyste chtěl zůstat u Criteria API, pořád by nestačilo Restrictions.sqlRestriction (viz rada mého předchůdce s exists)? Tomáš Záluský ______________________________________________________________ > Od: "Rastislav Siekel" <sie...@prosoft.sk> > Komu: Java <konference@java.cz> > Datum: 27.06.2013 15:03 > Předmět: 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 > > > > > > > >