From 79740accfa688d14988ee6ffe3f21276a8126e33 Mon Sep 17 00:00:00 2001 From: rbygrave Date: Fri, 21 May 2021 08:48:42 +1200 Subject: [PATCH] #2233 Fix with setter on ToMany now not invoking lazy loading - ebean-agent changed to not invoke preGetter on ToMany (just like Id) - EntityBeanIntercept preSetterMany() changed to ensure loading flag set --- .../src/main/java/io/ebean/bean/EntityBeanIntercept.java | 8 +++++++- ebean-bom/pom.xml | 4 ++-- ebean-core/pom.xml | 2 +- ebean-ddl-generator/pom.xml | 2 +- kotlin-querybean-generator/pom.xml | 2 +- 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/ebean-api/src/main/java/io/ebean/bean/EntityBeanIntercept.java b/ebean-api/src/main/java/io/ebean/bean/EntityBeanIntercept.java index 12f3fda8f..0c2333026 100644 --- a/ebean-api/src/main/java/io/ebean/bean/EntityBeanIntercept.java +++ b/ebean-api/src/main/java/io/ebean/bean/EntityBeanIntercept.java @@ -85,6 +85,8 @@ public final class EntityBeanIntercept implements Serializable { */ private static final byte FLAG_CHANGED_PROP = 2; + private static final byte FLAG_CHANGEDLOADED_PROP = 3; + /** * Flags indicating if a property is a dirty embedded bean. Used to distinguish * between an embedded bean being completely overwritten and one of its @@ -569,6 +571,10 @@ public final class EntityBeanIntercept implements Serializable { flags[propertyIndex] |= FLAG_CHANGED_PROP; } + private void setChangeLoaded(int propertyIndex) { + flags[propertyIndex] |= FLAG_CHANGEDLOADED_PROP; + } + /** * Set that an embedded bean has had one of its properties changed. */ @@ -937,7 +943,7 @@ public final class EntityBeanIntercept implements Serializable { if (readOnly) { throw new IllegalStateException("This bean is readOnly"); } - setChangedProperty(propertyIndex); + setChangeLoaded(propertyIndex); } } diff --git a/ebean-bom/pom.xml b/ebean-bom/pom.xml index aaa2b5961..edc2708cf 100644 --- a/ebean-bom/pom.xml +++ b/ebean-bom/pom.xml @@ -18,8 +18,8 @@ 12.4.0 4.1 7.0 - 12.8.2 - 12.8.2 + 12.8.4 + 12.8.4 diff --git a/ebean-core/pom.xml b/ebean-core/pom.xml index 13732d513..559d763ac 100644 --- a/ebean-core/pom.xml +++ b/ebean-core/pom.xml @@ -302,7 +302,7 @@ io.ebean ebean-maven-plugin - 12.8.2 + 12.8.4 test diff --git a/ebean-ddl-generator/pom.xml b/ebean-ddl-generator/pom.xml index f94924830..0c5089130 100644 --- a/ebean-ddl-generator/pom.xml +++ b/ebean-ddl-generator/pom.xml @@ -76,7 +76,7 @@ io.ebean ebean-maven-plugin - 12.8.2 + 12.8.4 test diff --git a/kotlin-querybean-generator/pom.xml b/kotlin-querybean-generator/pom.xml index a556671bb..99433a038 100644 --- a/kotlin-querybean-generator/pom.xml +++ b/kotlin-querybean-generator/pom.xml @@ -146,7 +146,7 @@ io.ebean ebean-maven-plugin - 12.8.2 + 12.8.4 test