Skip to content

Commit 88730bd

Browse files
jhoellerunknown
authored andcommitted
Added info-level logging for default unit detection
Issue: SPR-11333
1 parent b4e48d6 commit 88730bd

File tree

1 file changed

+21
-4
lines changed

1 file changed

+21
-4
lines changed

spring-orm/src/main/java/org/springframework/orm/jpa/persistenceunit/DefaultPersistenceUnitManager.java

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@
3535
import javax.persistence.spi.PersistenceUnitInfo;
3636
import javax.sql.DataSource;
3737

38+
import org.apache.commons.logging.Log;
39+
import org.apache.commons.logging.LogFactory;
40+
3841
import org.springframework.beans.factory.InitializingBean;
3942
import org.springframework.context.ResourceLoaderAware;
4043
import org.springframework.context.weaving.LoadTimeWeaverAware;
@@ -119,6 +122,8 @@ public class DefaultPersistenceUnitManager
119122
}
120123

121124

125+
protected final Log logger = LogFactory.getLog(getClass());
126+
122127
private String[] persistenceXmlLocations = new String[] {DEFAULT_PERSISTENCE_XML_LOCATION};
123128

124129
private String defaultPersistenceUnitRootLocation = ORIGINAL_DEFAULT_PERSISTENCE_UNIT_ROOT_LOCATION;
@@ -397,6 +402,7 @@ public void afterPropertiesSet() {
397402
public void preparePersistenceUnitInfos() {
398403
this.persistenceUnitInfoNames.clear();
399404
this.persistenceUnitInfos.clear();
405+
400406
List<SpringPersistenceUnitInfo> puis = readPersistenceUnitInfos();
401407
for (SpringPersistenceUnitInfo pui : puis) {
402408
if (pui.getPersistenceUnitRootUrl() == null) {
@@ -439,18 +445,29 @@ public void preparePersistenceUnitInfos() {
439445
*/
440446
private List<SpringPersistenceUnitInfo> readPersistenceUnitInfos() {
441447
List<SpringPersistenceUnitInfo> infos = new LinkedList<SpringPersistenceUnitInfo>();
448+
String defaultName = this.defaultPersistenceUnitName;
442449
boolean buildDefaultUnit = (this.packagesToScan != null || this.mappingResources != null);
450+
boolean foundDefaultUnit = false;
451+
443452
PersistenceUnitReader reader = new PersistenceUnitReader(this.resourcePatternResolver, this.dataSourceLookup);
444453
SpringPersistenceUnitInfo[] readInfos = reader.readPersistenceUnitInfos(this.persistenceXmlLocations);
445454
for (SpringPersistenceUnitInfo readInfo : readInfos) {
446455
infos.add(readInfo);
447-
if (this.defaultPersistenceUnitName != null &&
448-
this.defaultPersistenceUnitName.equals(readInfo.getPersistenceUnitName())) {
449-
buildDefaultUnit = false;
456+
if (defaultName != null && defaultName.equals(readInfo.getPersistenceUnitName())) {
457+
foundDefaultUnit = true;
450458
}
451459
}
460+
452461
if (buildDefaultUnit) {
453-
infos.add(buildDefaultPersistenceUnitInfo());
462+
if (foundDefaultUnit) {
463+
if (logger.isInfoEnabled()) {
464+
logger.info("Found explicit default unit with name '" + defaultName + "' in persistence.xml - " +
465+
"overriding local default unit settings ('packagesToScan'/'mappingResources')");
466+
}
467+
}
468+
else {
469+
infos.add(buildDefaultPersistenceUnitInfo());
470+
}
454471
}
455472
return infos;
456473
}

0 commit comments

Comments
 (0)