X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=security%2Fimpl%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Fusermgt%2Fjpa%2FJpaGroupSet.java;h=763fced4e464512ef6e927cecfb93be7785651ec;hb=476ab93a6ea0c57bbcc75594886de985ea8f04c2;hp=1a9be6f217d8008ad20b4b339c716f4bff952545;hpb=eca69f28db6b2df1caa6cc987ab616a15d18321e;p=utils diff --git a/security/impl/src/main/java/org/wamblee/usermgt/jpa/JpaGroupSet.java b/security/impl/src/main/java/org/wamblee/usermgt/jpa/JpaGroupSet.java index 1a9be6f2..763fced4 100644 --- a/security/impl/src/main/java/org/wamblee/usermgt/jpa/JpaGroupSet.java +++ b/security/impl/src/main/java/org/wamblee/usermgt/jpa/JpaGroupSet.java @@ -7,6 +7,7 @@ import java.util.TreeSet; import javax.persistence.EntityManager; import javax.persistence.TypedQuery; +import org.wamblee.persistence.JpaMergeSupport; import org.wamblee.usermgt.Group; import org.wamblee.usermgt.GroupSet; @@ -52,7 +53,12 @@ public class JpaGroupSet implements GroupSet { @Override public void groupModified(Group aGroup) { assert aGroup.getPrimaryKey() != null; - em.merge(aGroup); + Group merged = em.merge(aGroup); + // Need to flush so that version of the merged instance is updated so we can use + // the updated version in the original group passed in. That allows the same + // group object to continue to be used as a detached object. + em.flush(); + JpaMergeSupport.merge(merged, aGroup); } @Override