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

Reply via email to