cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mike Kienenberger <mkien...@gmail.com>
Subject Re: likeIgnoreCase queries and EJBQL
Date Mon, 12 Oct 2015 17:26:54 GMT
Sounds like the DbAdaptor for that database needs to be special-cased.
  Lots of examples of how this is done in cayenne/dba/<database>/*,
especially for oracle

And it's pretty simple to set your app up to use a custom version of
the dbAdaptor if you don't want to build your own custom version of
cayenne while you wait until it's included in a release.

On Mon, Oct 12, 2015 at 12:46 PM, Hugi Thordarson <hugi@karlmenn.is> wrote:
> Hi all.
>
> I’m communicating with a database that doesn’t have the UCASE function, only UPPER.
>
> When I use case insensitive expressions (for example, User.NAME.likeIgnoreCase(“Bob”))
in a regular SelectQuery, Cayenne generates SQL using the “UPPER” function (for expressions
generated using likeIgnoreCase). This works fine.
>
> But if I generate EJBQL from the expression and then use the resulting string to perform
an EJBQLQuery, Cayenne will attempt to use UCASE function in the resulting SQL and things
go awry.
>
> Can I tell the EJBQL SQL translator to use “upper” rather than “ucase” when performing
these queries?
>
> Cheers,
> - hugi

Mime
View raw message