I've encountered a SQL generation bug where a join to a superclass seems to
be missing. The problem only occurs when the datacache is in use, and seems
to occur when the superclass is loading a single field which is to-many (I'm
using parallel eager select, which may be affecting this as well). The field
is a collection of the same type as the superclass.
I believe the problem is in the select generated by the
eagerToMany.selectEagerJoin() call in JDBCStoreManager.select(). However,
I've found that in JDBCStoreManager.selectBaseMappings(), if I change the
line:
if (fms[i] == eagerToMany)
continue;
to:
if (fms[i] == eagerToMany) {
seld = 0;
continue;
}
to indicate that the select is required, the problem goes away. However, I
don't know the ramifications on other SQL generation.
If anyone who is more familiar with the SQL generation code could comment,
it would be much appreciated.
--
_____________
David Minor