Author: jrbauer
Date: Mon Jul 6 19:06:19 2009
New Revision: 791568
URL: http://svn.apache.org/viewvc?rev=791568&view=rev
Log:
OPENJPA-1155 Committing code contributed by Dianne Richards. This update
ensures that all entities, especially those loaded during detachment get
cascaded during detach.
Modified:
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java
Modified:
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java
URL:
http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java?rev=791568&r1=791567&r2=791568&view=diff
==============================================================================
---
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java
(original)
+++
openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/BrokerImpl.java
Mon Jul 6 19:06:19 2009
@@ -3321,8 +3321,17 @@
if (call == null)
call = _call;
- new DetachManager(this, true, call).detachAll
- (new ManagedObjectCollection(states));
+ // Make sure ALL entities are detached, even new ones that are loaded
+ // during the detach processing
+ boolean origCascade = _compat.getCascadeWithDetach();
+ _compat.setCascadeWithDetach(true);
+ try {
+ new DetachManager(this, true, call)
+ .detachAll(new ManagedObjectCollection(states));
+ }
+ finally {
+ _compat.setCascadeWithDetach(origCascade);
+ }
}
public Object attach(Object obj, boolean copyNew, OpCallbacks call) {