Hi,
You brave hearts seem to have ventured into Criteria Query. How is it
going?
On this specific question, how about the following
CriteriaQuery cq = ... // notice the generic type as Object
cq.select(builder.count(whatever))
Integer tq = (Integer) em.createQuery(cq).getSingleResult();
// now change the select list
cq.select(whatUreallyWant);
List result = em.createQuery(cq).getResult();
The downside is you need to cast the results.
Regards --
Pinaki
Michael Vorburger-4 wrote:
>
> Hi 周雁鸣,
>
> CriteriaQuery<User> cq = ...
> TypedQuery<User> tq = em.createQuery(cq);
>
> tq.setFirstResult(0);
> tq.setMaxResults(10);
> List<User> users = tq.getResultList();
>
> long count = users.size();
>
> This will, normally, generate TWO SQL queries - a SELECT {columns} ... and
> a SELECT COUNT(id).
>
> Ok?
>
>
> -----Original Message-----
> From: 周雁鸣 [mailto:[email protected]]
> Sent: Monday, November 23, 2009 3:12 AM
> To: [email protected]
> Subject: How to count on a query then reuse this query fetch data?
>
> CriteriaQuery<User> cq = ...
> TypedQuery<User> tq = em.createQuery(cq);
>
> long count = count(tq); //howto?
>
> tq.setFirstResult(0);
> tq.setMaxResults(10);
> List<User> users = tq.getResultList();
>
> how to implement count function and I can reuse query object to find
> entities.
>
> ____________________________________________________________
>
> � This email and any files transmitted with it are CONFIDENTIAL and
> intended
> solely for the use of the individual or entity to which they are
> addressed.
> � Any unauthorized copying, disclosure, or distribution of the material
> within
> this email is strictly forbidden.
> � Any views or opinions presented within this e-mail are solely those of
> the
> author and do not necessarily represent those of Odyssey Financial
> Technologies SA unless otherwise specifically stated.
> � An electronic message is not binding on its sender. Any message
> referring to
> a binding engagement must be confirmed in writing and duly signed.
> � If you have received this email in error, please notify the sender
> immediately
> and delete the original.
>
>
-----
Pinaki
--
View this message in context:
http://n2.nabble.com/How-to-count-on-a-query-then-reuse-this-query-fetch-data-tp4048648p4067146.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.