Mapping (note the lazy='false', it is essential to cause the problem):
<class name='Currency' lazy='false'>
<id name='id' ... </id>
<many-to-one name='currency' class='Currency' fetch='select'/>
The following HQL query: "select a.id, a.currency from Asset a"
used to generate a query on the Asset table, and subsequently generates separate queries on the Currency table.
Since version 3.2.2, this generates an inner join on Asset with Currency.
Now many Assets may have a NULL currency, so we do not get all records anymore!
This breaks logic and queries all over the place for us.
We can't go back to 3.2.1 due to other bugs that had been solved in 3.2.2.
The query "from Asset a" still works OK and as before, i.e. it makes the select only on the Asset table and afterwards fetches the Currency with individual selects.
I fear that an optimization has been made that has this negative side effect.
Oracle 9i, affects ONLY version 3.2.2, was still working OK in version 3.2.1 and before.
Bulk closing stale resolved issues