Nekdy si pripadam uplne divny. Nekdy hledam slozitejsi reseni nez by
bylo potreba. Diky za tento kousek kodu. Je to parada.

Pet

Rastislav Siekel wrote:
>
> Ja to robím takto
>
>         /** Create criteria. */
>         private DetachedCriteria getCriteriaTp412(...)
>         {
>                 DetachedCriteria crit =
> DetachedCriteria.forClass(Tp412TO.class, "t");
>                 crit.add( Subqueries.propertyEq("t." +
> Tp412TO.COL_tp412aSaveTime, subselect) );
>                 ...
>                 return crit;
>         }
>                
>         /** Load List.
>          */
>         public List loadList(...)
>         {
>                 DetachedCriteria crit = getCriteriaTp412(...);
>                 HibernateTemplate template = getHibernateTemplate();
>                 return template.findByCriteria(crit, aFirstResult,
> aMaxResult);
>         }
>
>         /** Load only count of total records.
>          */
>         public int loadListTotalCount(...)
>         {
>                 DetachedCriteria crit = getCriteriaTp412(...);
>                 *crit.setProjection( Projections.rowCount() );
> *                HibernateTemplate template = getHibernateTemplate();
>                 List list = template.findByCriteria(crit);
>                 Number count = (Number)list.get(0);
>                 return count.intValue();
>         }
>
>  
>  
> Čiže doplnením zvýrazneného riadku do normálneho kritéria, dostanem
> len jeho COUNT(*)
>  
> Rastislav "Bedo" Siekel
>
>
>
> > -----Original Message-----
> > From: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED] On Behalf Of Michal Palička
> > Sent: 19. septembra 2006 10:04
> > To: Java
> > Subject: RE: hibernate substr nebo position
> >
> >
> >
> > 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