I need to amend what I said in my post. When we attempt any kind of FULL JOIN, we always get:
Code:
assertion failure occured (this may indicate a bug in Hibernate, but is more likely due to unsafe use of the session)
org.hibernate.AssertionFailure: undefined join type 23
Changing FULL JOIN to RIGHT JOIN or LEFT JOIN makes our code run without the exception, but the result is that we always get an INNER JOIN.
What we believe may be happening is that the Hibernate query engine is deciding that an inner join is appropriate due to some clause in our HQL.
So, we've tried things like WHERE fieldname IS NULL, but that does not work. It is as if those records have already been excluded.
We have gone back to writing really simple queries trying to get basic outer joins to work.
We would like to ask these questions:
Could there be anything in our hbm.xml files that constrain Hibernate to always form inner joins?
Anything else in the configuration of Hibernate to constrain us to inner joins?
Would it be possible to build a query and then add to it certain records that have certain fields that are null? Would this be a subselect?
We're desperate. All thoughtful, nontrivial help and suggestions will be appreciated and will get credit for helping.