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);

Reply via email to