Create count(*) query based on SelectQuery

From: Andreas Hartmann (andrea..pache.org)
Date: Wed Jan 20 2010 - 11:10:43 EST

  • Next message: Andrus Adamchik: "Re: Create count(*) query based on SelectQuery"

    Hi everyone,

    I'm mainly using SelectQuery queries, built using quite a complex
    programmatic infrastructure. But now I have the requirement to obtain
    the total number of rows (to set the Content-Range header in a REST
    service).

    So basically I have a SelectQuery which does

       SELECT … FROM foo WHERE <whereClause> LIMIT … OFFSET …;

    and I need

       SELECT count(*) FROM foo WHERE <whereClause>;

    Is there a straightforward way to build such a query based on the
    SelectQuery's expression? I tried Expression.toEJBQL() but faced a
    couple of problems which have already been described on this list (e.g.
    the likeIgnoreCase issue).

    Do I really have to build a string-based SQL or EJBQL query from scratch?

    Thanks a lot for any hints!

    Best regards,
    Andreas

    -- 
    Andreas Hartmann, CTO
    BeCompany GmbH
    http://www.becompany.ch
    Tel.: +41 (0) 43 818 57 01
    



    This archive was generated by hypermail 2.0.0 : Wed Jan 20 2010 - 11:11:49 EST