You might want to track
https://issues.apache.org/jira/browse/OPENJPA-273, which indirectly
allows functions to be used in GROUP BY clauses in OpenJPA.

-Patrick

On 7/4/07, Michael Bouschen <[EMAIL PROTECTED]> wrote:
Hi Sreedhar,

according to the JPQL spec you cannot use functions in an ORDER BY
expression, only state field path expressions are allowed.

Regards Michael


> Hi All,
>
> I'm using the following code to execute JPQL.
>
>                       StringBuffer strBuff = new StringBuffer(30);
>                       strBuff.append("select model from UserDTO model ");
>             if (name != null && name.length() > 0) {
>                               strBuff.append(" where UPPER(model.name) like
> '%"+(name.toUpperCase())+"%' ");
>                       }
>                       strBuff.append(" order by UPPER(model.name) asc");
>
> But I get the following exception. When I remove UPPER in the last line of
> code it is executing without any failure. Shouldn't I use UPPER after
> order?? What I could make out from the following trace is, JPQL is expecting
> a column name instead of a UPPER(model.name). Any help or suggestions.
>
> <0.9.7-incubating nonfatal user error>
> org.apache.openjpa.persistence.ArgumentException: An error occurred while
> parsing the query filter 'select model from UserDTO model  order by
> UPPER(model.name) asc'. Error message: <0.9.7-incubating nonfatal user
> error> org.apache.openjpa.kernel.jpql.ParseException: Encountered "UPPER" at
> character 43, but expected: [<IDENTIFIER>].
>
> Sreedhar
>


--
[EMAIL PROTECTED] Engineering GmbH  Tel.: +49/(0)30/235 520-33
Buelowstr. 66                Fax.: +49/(0)30/217 520-12
10783 Berlin                 mailto:[EMAIL PROTECTED]

Geschaeftsfuehrung: Anna-Kristin Proefrock
Sitz Berlin, Amtsgericht Charlottenburg, HRB 564 52




--
Patrick Linskey
202 669 5907

Reply via email to