Re: Create count(*) query based on SelectQuery

From: Andrus Adamchik (andru..bjectstyle.org)
Date: Wed Jan 20 2010 - 11:22:54 EST

  • Next message: Andreas Hartmann: "ParseException in EJBQL statement with upper function"

    Short of writing custom extensions of SelectQuery, yes, EJBQL or
    SQLTemplate is the answer.

    We are designing a combined SelectQuery / EJBQLQuery that can be
    created either via String or using API as a part of 3.1, but in 3.0
    this is not an option.

    Andrus

    On Jan 20, 2010, at 6:10 PM, Andreas Hartmann wrote:

    > 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:23:33 EST