Dobry den,

jeste je moznost to udelat takto:

(1)
Vyberu dle kriteria primarni klice vyhovujicich zaznamu.

(2)
Count spocitam v Jave.

(3)
Konkretni objekty pak ziskavam na zaklade prve nactene kolekce 
klicu priblizne takto "from Cat c where c.id in (keys)".

Podminku vyberu specifikuji jen poprve, kdyz nacitam klice.
Nacitani objektu po strankach je v podstate stale stejne.

mp.

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Burdik Petr
Sent: Tuesday, September 19, 2006 9:52 AM
To: Java
Subject: Re: hibernate substr nebo position

Ahojda,
a posledni spek, v count sestavuju prakticky stejny dotaz jako v samotnem 
strankovanem query. Premyslim jak nasazet vsechna criteria jednou a pak zavolat 
jenom dva ruzne dotazy. Nebyl by to problem kdybych nepotreboval napred ten 
count. Jde samozrejme napsat potomek criteria ktery bude implementovat 
klonovani. Takze seberu prvni klon, vytvorim jeden dotaz, druhy klon pak na 
query. Ale mozna ma nekdo nejake pekne reseni tak si dam poradit :)

Pet

Jaroslav Hurdes wrote:
> Jde to i takto
>
> Criteria c = ...;
> c.setProjection(Projections.count("id"));
> Integer count = (Integer) c.uniqueResult();
>
> kde id je jmeno sloupce s primarnim klicem.
> Jaroslav Hurdes
>
> Burdik Petr wrote:
>> No to jde i u query. Tam je to uplne shodne. Podle me jejich hlavni 
>> teziste je v tom ze kdyz mate formular pro vyhledavani podle spousty 
>> kriterii, nemusite davat dohromady zadny select, pocitat pozice 
>> parametru v dotazu, ... Alespon proto ho chci pouzit ja.
>>
>>             .setFirstResult((((int) selectedPage - 1) * (int) interval))
>>             .setMaxResults((int) interval)
>>
>> To funguje u obou. Jak query, tak criteria.
>>
>> Pet
>>
>> Lukas Barton wrote:
>>  
>>> Burdik Petr wrote:
>>>    
>>>> Ahoj,
>>>> doted jsem pouzival klasicky query. mam vzdy dva dotazy. Jeden na 
>>>> pocet objektu vyhovujicich kriteriim a druhy na seznam objektu. 
>>>> Jenom nevim jak nahradit ten stary count pomoci criteria. Nemate 
>>>> napad? tech kriterii muze byt vice.
>>>>
>>>> // stary count
>>>> String selectCount = "select count(*) from Article article where 
>>>> article.artIdSupplier like ?"; Integer count = (Integer) 
>>>> session.createQuery(selectCount)
>>>>     .setParameter(0,"%" + artIdSupplier + "%")
>>>>     .uniqueResult();
>>>>
>>>>         
>>> Predpokladam, ze bude fungovat neco jako:
>>>     .createCriteria(Cat.class)
>>>      .setProjection( Projections.projectionList().add(
>>> Projections.rowCount() ).setProjection( Projections.projectionList()
>>>          .add( Projections.rowCount() )
>>>
>>> Vyhodou Criterii potom je, ze se da pouzit ||*setFirstResult 
>>> <http://www.hibernate.org/hib_docs/v3/api/org/hibernate/Criteria.htm
>>> l#setFirstResult%28int%29>
>>> a *||*setFetchSize
>>> <http://www.hibernate.org/hib_docs/v3/api/org/hibernate/Criteria.htm
>>> l#setFetchSize%28int%29> pro snadne strankovani (teda pokud to umi 
>>> databaze).
>>>
>>>   Lukas*
>>>
>>>  
>>>     
>>
>>
>>   
>
>

Odpovedet emailem