openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Patrick Linskey <>
Subject Question about JPQLExpressionBuilder.getTypeLiteral()
Date Sat, 13 Feb 2010 01:12:05 GMT

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.)



Patrick Linskey
202 669 5907

View raw message