From 582fec7ce45277707f177f0758ad5ae202f18a14 Mon Sep 17 00:00:00 2001 From: Rob Bygrave Date: Thu, 21 Mar 2024 21:51:10 +1300 Subject: [PATCH] For #3363 disable flushOnQuery before BeanPersistAdapter post-processors (#3367) --- .../server/core/PersistRequestBean.java | 36 +++++++++++-------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/ebean-core/src/main/java/io/ebeaninternal/server/core/PersistRequestBean.java b/ebean-core/src/main/java/io/ebeaninternal/server/core/PersistRequestBean.java index f13227fc5d..d6145f5144 100644 --- a/ebean-core/src/main/java/io/ebeaninternal/server/core/PersistRequestBean.java +++ b/ebean-core/src/main/java/io/ebeaninternal/server/core/PersistRequestBean.java @@ -919,21 +919,27 @@ public boolean isNotifyCache() { } private void controllerPost() { - switch (type) { - case INSERT: - controller.postInsert(this); - break; - case UPDATE: - controller.postUpdate(this); - break; - case DELETE_SOFT: - controller.postSoftDelete(this); - break; - case DELETE: - controller.postDelete(this); - break; - default: - break; + boolean old = transaction.isFlushOnQuery(); + transaction.setFlushOnQuery(false); + try { + switch (type) { + case INSERT: + controller.postInsert(this); + break; + case UPDATE: + controller.postUpdate(this); + break; + case DELETE_SOFT: + controller.postSoftDelete(this); + break; + case DELETE: + controller.postDelete(this); + break; + default: + break; + } + } finally { + transaction.setFlushOnQuery(old); } }