Hi,
I'm working on adding support for queries against a non-relational
store, and I've run into an issue with the new JPA2 type literal stuff.
I'm compiling a query such as the following:
select s from Skier s where type(s) = Skier
My target database doesn't support joins, so in my ExpressionFactory
implementation, I throw exceptions whenever join-ish things are done.
I'm getting into trouble because
JPQLExpressionBuilder.getTypeLiteral() calls getVariable(), which ends
up calling ExpressionFactory.newUnboundVariable() eventually. Which
blows up.
Now, I could change my implementation to not throw in
newUnboundVariable(), but I feel like a type literal isn't a variable.
Was there some larger bit of rationale behind making getTypeLiteral()
return an unbound variable, or should I feel free to dig into changing
it to return a more suitable type?
(Incidentally, I've got things working with type parameters (i.e.,
'where type(s) = :type'), so the pathways seem to be great aside from
this variable discrepancy.)
Thanks,
-Patrick
--
Patrick Linskey
202 669 5907