|
|
@ -1,5 +1,5 @@ |
|
|
|
/* |
|
|
|
/* |
|
|
|
* Copyright 2002-2017 the original author or authors. |
|
|
|
* Copyright 2002-2018 the original author or authors. |
|
|
|
* |
|
|
|
* |
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
|
|
* you may not use this file except in compliance with the License. |
|
|
|
* you may not use this file except in compliance with the License. |
|
|
@ -36,6 +36,7 @@ import javax.persistence.EntityManager; |
|
|
|
import javax.persistence.EntityManagerFactory; |
|
|
|
import javax.persistence.EntityManagerFactory; |
|
|
|
import javax.persistence.PersistenceException; |
|
|
|
import javax.persistence.PersistenceException; |
|
|
|
import javax.persistence.Query; |
|
|
|
import javax.persistence.Query; |
|
|
|
|
|
|
|
import javax.persistence.SynchronizationType; |
|
|
|
import javax.persistence.spi.PersistenceProvider; |
|
|
|
import javax.persistence.spi.PersistenceProvider; |
|
|
|
import javax.persistence.spi.PersistenceUnitInfo; |
|
|
|
import javax.persistence.spi.PersistenceUnitInfo; |
|
|
|
import javax.sql.DataSource; |
|
|
|
import javax.sql.DataSource; |
|
|
@ -444,7 +445,7 @@ public abstract class AbstractEntityManagerFactoryBean implements |
|
|
|
return method.invoke(this, args); |
|
|
|
return method.invoke(this, args); |
|
|
|
} |
|
|
|
} |
|
|
|
else if (method.getName().equals("createEntityManager") && args != null && args.length > 0 && |
|
|
|
else if (method.getName().equals("createEntityManager") && args != null && args.length > 0 && |
|
|
|
args[0] != null && args[0].getClass().isEnum() && "SYNCHRONIZED".equals(args[0].toString())) { |
|
|
|
args[0] == SynchronizationType.SYNCHRONIZED) { |
|
|
|
// JPA 2.1's createEntityManager(SynchronizationType, Map)
|
|
|
|
// JPA 2.1's createEntityManager(SynchronizationType, Map)
|
|
|
|
// Redirect to plain createEntityManager and add synchronization semantics through Spring proxy
|
|
|
|
// Redirect to plain createEntityManager and add synchronization semantics through Spring proxy
|
|
|
|
EntityManager rawEntityManager = (args.length > 1 ? |
|
|
|
EntityManager rawEntityManager = (args.length > 1 ? |
|
|
|