BrokerImpl.detachAllInternal() does not detach newly loaded entities
--------------------------------------------------------------------
Key: OPENJPA-1155
URL: https://issues.apache.org/jira/browse/OPENJPA-1155
Project: OpenJPA
Issue Type: Bug
Components: kernel
Affects Versions: 2.0.0
Reporter: Dianne Richards
Fix For: 2.0.0
During detach, it is possible for additional entities to be loaded if the
openjpa.DetachState property has been set to "all" or "fetch-groups". These
entities may not be included in the collection of entities that are identified
in the BrokerImpl.detachAllInternal() method when it calls the
DetachManager.detachAll(collection) method. Before 2.0, these newly loaded
entities were always detached since the detach processing always cascaded.
However, with the 2.0 spec requirements for cascade, the default behavior no
longer cascades. Therefore, there may be some entities left in the persistence
context after this processing occurs. detachAllInternal() is associated with
the clear(), close(), and afterCompletion() operations and it is expected that
the persistence context really be empty. To ensure this, the compatibility
option of cascadeWithDetach will be set to true by detachAllInternal() before
calling the DetachManager.detach() method.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.