From 18cde36b9d861244cc0192546883064dd75d5ed8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20P=C3=B6hler=20=28JPo=29?= Date: Wed, 8 Apr 2020 16:05:09 +0200 Subject: [PATCH] FIX: cache not being cleared in persistence context on reorder with @OrderColumn MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jonas Pöhler (JPo) --- .../java/io/ebeaninternal/server/persist/SaveManyBeans.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/io/ebeaninternal/server/persist/SaveManyBeans.java b/src/main/java/io/ebeaninternal/server/persist/SaveManyBeans.java index 653d387f1..738a280d9 100644 --- a/src/main/java/io/ebeaninternal/server/persist/SaveManyBeans.java +++ b/src/main/java/io/ebeaninternal/server/persist/SaveManyBeans.java @@ -178,6 +178,11 @@ public class SaveManyBeans extends SaveManyBase { if (!skipSavingThisBean) { persister.saveRecurse(detail, transaction, parentBean, request.getFlags()); + if (many.hasOrderColumn()) { + // Clear the bean from the PersistenceContext (L1 cache), because the order of referenced beans might have changed + final BeanDescriptor beanDescriptor = many.getBeanDescriptor(); + beanDescriptor.contextClear(transaction.getPersistenceContext(), beanDescriptor.getId(parentBean)); + } } } }