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 0b68db6 [OPENJPA-2834] enable to bypass synchronizeMappings when
calling getProperties
0b68db6 is described below
commit 0b68db6ba164943d8470d46fb4de326a19fc9485
Author: Romain Manni-Bucau <[email protected]>
AuthorDate: Thu Oct 1 09:45:50 2020 +0200
[OPENJPA-2834] enable to bypass synchronizeMappings when calling
getProperties
---
.../apache/openjpa/persistence/EntityManagerFactoryImpl.java | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 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 ff06de6..9242ccd 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
@@ -119,7 +119,7 @@ public class EntityManagerFactoryImpl
if (emEmptyPropsProperties != null) {
props.putAll(emEmptyPropsProperties);
} else {
- props.putAll(createEntityManager().getProperties());
+ props.putAll(doCreateEM(SynchronizationType.SYNCHRONIZED,
null, true).getProperties());
}
// no need to sync or volatile, worse case concurrent threads
create 2 instances
// we just want to avoid to do it after some "init" phase
@@ -198,6 +198,12 @@ public class EntityManagerFactoryImpl
*/
@Override
public OpenJPAEntityManagerSPI createEntityManager(SynchronizationType
synchronizationType, Map props) {
+ return doCreateEM(synchronizationType, props, false);
+ }
+
+ private OpenJPAEntityManagerSPI doCreateEM(SynchronizationType
synchronizationType,
+ Map props,
+ boolean
byPassSynchronizeMappings) {
if (synchronizationType == null) {
throw new NullPointerException("SynchronizationType must not be
null");
}
@@ -271,7 +277,9 @@ public class EntityManagerFactoryImpl
}
validateCfNameProps(conf, cfName, cf2Name);
- Broker broker = _factory.newBroker(user, pass, managed, retainMode,
false, cfName, cf2Name);
+ Broker broker = byPassSynchronizeMappings ?
+ conf.newBrokerInstance(user, pass) :
+ _factory.newBroker(user, pass, managed, retainMode, false,
cfName, cf2Name);
// add autodetach for close and rollback conditions to the
configuration
broker.setAutoDetach(AutoDetach.DETACH_CLOSE, true);