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