This is an automated email from the ASF dual-hosted git repository. rmannibucau pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/openjpa.git
The following commit(s) were added to refs/heads/master by this push: new 4a546f7 [OPENJPA-2834] ensure setProperty invalid properties cache in em 4a546f7 is described below commit 4a546f759cee4220495e4206abc3c0503af204fa Author: Romain Manni-Bucau <rmannibu...@gmail.com> AuthorDate: Wed Sep 30 13:43:55 2020 +0200 [OPENJPA-2834] ensure setProperty invalid properties cache in em --- .../org/apache/openjpa/persistence/EntityManagerFactoryImpl.java | 8 +++++--- .../java/org/apache/openjpa/persistence/EntityManagerImpl.java | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerFactoryImpl.java b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerFactoryImpl.java index 0c8ff9a..ff06de6 100644 --- a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerFactoryImpl.java +++ b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerFactoryImpl.java @@ -281,9 +281,11 @@ public class EntityManagerFactoryImpl OpenJPAEntityManagerSPI em = newEntityManagerImpl(broker); // allow setting of other bean properties of EM - Set<Map.Entry> entrySet = props.entrySet(); - for (Map.Entry entry : entrySet) { - em.setProperty(entry.getKey().toString(), entry.getValue()); + if (!props.isEmpty()) { + Set<Map.Entry> entrySet = props.entrySet(); + for (Map.Entry entry : entrySet) { + em.setProperty(entry.getKey().toString(), entry.getValue()); + } } if (canCacheGetProperties) { if (emEmptyPropsProperties == null) { diff --git a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerImpl.java b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerImpl.java index 9782412..1a171dd 100644 --- a/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerImpl.java +++ b/openjpa-persistence/src/main/java/org/apache/openjpa/persistence/EntityManagerImpl.java @@ -2121,6 +2121,7 @@ public class EntityManagerImpl */ @Override public void setProperty(String prop, Object value) { + properties = null; if (!setKernelProperty(this, prop, value)) { if (!setKernelProperty(this.getFetchPlan(), prop, value)) { Log log = getConfiguration().getLog(OpenJPAConfiguration.LOG_RUNTIME);