From 511ebd8a29938c9d2afefeb17a818469f31a76f9 Mon Sep 17 00:00:00 2001 From: Robin Bygrave Date: Tue, 3 Nov 2015 16:31:27 +1300 Subject: [PATCH] #450 - @ManyToMany with cascade and jdbc batch - ensure flush occurs --- .../ebeaninternal/server/persist/DefaultPersister.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/java/com/avaje/ebeaninternal/server/persist/DefaultPersister.java b/src/main/java/com/avaje/ebeaninternal/server/persist/DefaultPersister.java index ae57c7d08..db3bdb663 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/persist/DefaultPersister.java +++ b/src/main/java/com/avaje/ebeaninternal/server/persist/DefaultPersister.java @@ -918,6 +918,10 @@ public final class DefaultPersister implements Persister { t.depth(+1); if (additions != null && !additions.isEmpty()) { + // ensure any cascade batch has been flushed prior + // to inserting into the intersection table + t.flushBatch(); + for (Object other : additions) { EntityBean otherBean = (EntityBean) other; // the object from the 'other' side of the ManyToMany @@ -943,6 +947,10 @@ public final class DefaultPersister implements Persister { } } if (deletions != null && !deletions.isEmpty()) { + // ensure any cascade batch has been flushed prior + // to inserting into the intersection table + t.flushBatch(); + for (Object other : deletions) { EntityBean otherDelete = (EntityBean) other; // the object from the 'other' side of the ManyToMany