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.

Reply via email to