Hibernate to dela - metoda *setMaxResults* Ale nemusi to chodit na vsech DB, zalezi na konkretnim dialektu - jeste nedavno to neumel pro MS SQL v kombinaci s *setFirstResult*.
Z tech dialektu se da vykoukat konkretni SQL implementace pro dane databaze. Lukas 2010/3/11 Oto Buchta <[email protected]> > Zdravím, > mám tabulku o milionech záznamů, kde primárním klíčem je long, ale > nejedná se o seqenci. > Dívám se po generickém nástroji, který by mi vrátil pouze N záznamů s > nejvyšším indexem menším než nějaké X, > tedy umí něco, co by se mělo v JDBC řešit takto: > Connection.prepareStatement("select * from tabulka where klic<X order > by klic desc").setMaxRows(N); > > Jenomže toto je na řešeno na straně JDBC driveru, nikoli na straně > databáze. Když to chci udělat databázovým strojem, > musím to řešit pro každou DB zvlášť: > Oracle: select * from tabulka where klic<X and rownum=N order by klic desc > MySQL: select * from tabulka where klic<X order by klic desc limit 1,N > > Znáte takový generický nástroj, popřípadě dokážete poradit, jak > nastavit Hibernate či iBatis či cokoli jiného, aby mi tuto službu > poskytlo? > Já ne a kamarád Gůgl taky nenapověděl. > > Dík moc, > -- > Oto 'tapik' Buchta, [email protected], http://tapikuv.blogspot.com >
