Diky. Nevim, proc jsem si myslel, ze se jedna o driver based reseni.

public String Dialect.getLimitString() je presne to, co jsem hledal.

Ted se jeste musim zamyslet, jestli pouzit cely Hibernate nebo pouze onu metodu.

2010/3/11 Lukas Barton <lu...@cnawr.cz>:
> 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 <ta...@buchtovi.cz>
>>
>> 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, ta...@buchtovi.cz, http://tapikuv.blogspot.com
>
>



-- 
Oto 'tapik' Buchta, ta...@buchtovi.cz, http://tapikuv.blogspot.com

Odpovedet emailem