same-named unit from persistence.xml overrides in case of conflict with default unit
Issue: SPR-9741
This commit is contained in:
parent
10a4e88e0a
commit
f32e4077fa
|
@ -21,7 +21,6 @@ import java.lang.reflect.InvocationHandler;
|
||||||
import java.lang.reflect.Method;
|
import java.lang.reflect.Method;
|
||||||
import java.lang.reflect.Proxy;
|
import java.lang.reflect.Proxy;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.LinkedList;
|
import java.util.LinkedList;
|
||||||
|
@ -375,10 +374,18 @@ public class DefaultPersistenceUnitManager
|
||||||
* as defined in the JPA specification.
|
* as defined in the JPA specification.
|
||||||
*/
|
*/
|
||||||
private List<SpringPersistenceUnitInfo> readPersistenceUnitInfos() {
|
private List<SpringPersistenceUnitInfo> readPersistenceUnitInfos() {
|
||||||
PersistenceUnitReader reader = new PersistenceUnitReader(this.resourcePatternResolver, this.dataSourceLookup);
|
|
||||||
List<SpringPersistenceUnitInfo> infos = new LinkedList<SpringPersistenceUnitInfo>();
|
List<SpringPersistenceUnitInfo> infos = new LinkedList<SpringPersistenceUnitInfo>();
|
||||||
infos.addAll(Arrays.asList(reader.readPersistenceUnitInfos(this.persistenceXmlLocations)));
|
boolean buildDefaultUnit = (this.packagesToScan != null || this.mappingResources != null);
|
||||||
if (this.packagesToScan != null || this.mappingResources != null) {
|
PersistenceUnitReader reader = new PersistenceUnitReader(this.resourcePatternResolver, this.dataSourceLookup);
|
||||||
|
SpringPersistenceUnitInfo[] readInfos = reader.readPersistenceUnitInfos(this.persistenceXmlLocations);
|
||||||
|
for (SpringPersistenceUnitInfo readInfo : readInfos) {
|
||||||
|
infos.add(readInfo);
|
||||||
|
if (this.defaultPersistenceUnitName != null &&
|
||||||
|
this.defaultPersistenceUnitName.equals(readInfo.getPersistenceUnitName())) {
|
||||||
|
buildDefaultUnit = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (buildDefaultUnit) {
|
||||||
infos.add(buildDefaultPersistenceUnitInfo());
|
infos.add(buildDefaultPersistenceUnitInfo());
|
||||||
}
|
}
|
||||||
return infos;
|
return infos;
|
||||||
|
|
Loading…
Reference in New Issue