You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by ashish paliwal <as...@gmail.com> on 2009/07/05 09:34:09 UTC

TestQuery#testCollocationConstraintViolation() is not working in case there is "where" condition added to select query on Manufacture object

Hi,

I tried out this thing. I added a field int code to Manufacture class with
its getters and setters. Now in
TestQuery#testCollocationConstraintViolation, I set this code value to 21
for Manufacture object. Rest remained same and I persisted both Manufacture
and Car. Then in the select query I added the "where" condition "where
c.maker.code=21. This on running gave me the assertionFailedError as the
result list was empty. On seeing the SQL query I saw that it was making a
Inner Join query and that won't work in this case.
The test case would work fine if there is a where condition on "name" field
of Manufacture table as that is a foreign key in Car table and thus present
in Car table also.

So, is it true that this test is only valid if there is no "where" condition
on distributed field ?
I guess the same would happen if there is a "having" or an "order by" clause
on Manufacture field.

thanks

-- 
Ashish Paliwal
Mobile : 9305128367
IIT Kanpur
India