I have an entity A with a to-many relation to entity B. If entity A is
retrieved from the database, and entity B is found in the cache, the inverse
field from entity B to entity A is null.

StoreCollectionFieldStrategy.processEagerParallelResult() is setting a
"mapped by" field in the result object to entity A's object ID, however the
DataCacheStoreManager seems to not be aware of this and is trying to load
the inverse field in entity B, whereas the JDBCStoreManager has
setMappedBy().

DataCacheStoreManager appears to be attempting to load entity A all over
again, and subsequently entity B again, but there's so much delegation and
caching it's hard to tell.

This problem goes away if I revert the changes from
http://issues.apache.org/jira/browse/OPENJPA-744

If I change EagerFetchMode to "join" it seems to become rarer, but still
occurs.

I'm using 1.2.1.

Any ideas?

-- 
_____________
David Minor

Reply via email to