List of usage examples for org.springframework.orm.jpa.persistenceunit MutablePersistenceUnitInfo setPersistenceProviderClassName
public void setPersistenceProviderClassName(@Nullable String persistenceProviderClassName)
From source file:org.broadleafcommerce.common.extensibility.jpa.MergePersistenceUnitManager.java
@Override protected void postProcessPersistenceUnitInfo(MutablePersistenceUnitInfo newPU) { super.postProcessPersistenceUnitInfo(newPU); ConfigurationOnlyState state = ConfigurationOnlyState.getState(); String persistenceUnitName = newPU.getPersistenceUnitName(); MutablePersistenceUnitInfo pui = getMergedUnit(persistenceUnitName, newPU); List<String> managedClassNames = newPU.getManagedClassNames(); for (String managedClassName : managedClassNames) { if (!pui.getManagedClassNames().contains(managedClassName)) { pui.addManagedClassName(managedClassName); }//from w w w. java 2 s . c o m } List<String> mappingFileNames = newPU.getMappingFileNames(); for (String mappingFileName : mappingFileNames) { if (!pui.getMappingFileNames().contains(mappingFileName)) { pui.addMappingFileName(mappingFileName); } } pui.setExcludeUnlistedClasses(newPU.excludeUnlistedClasses()); for (URL url : newPU.getJarFileUrls()) { // Avoid duplicate class scanning by Ejb3Configuration. Do not re-add the URL to the list of jars for this // persistence unit or duplicate the persistence unit root URL location (both types of locations are scanned) if (!pui.getJarFileUrls().contains(url) && !pui.getPersistenceUnitRootUrl().equals(url)) { pui.addJarFileUrl(url); } } if (pui.getProperties() == null) { pui.setProperties(newPU.getProperties()); } else { Properties props = newPU.getProperties(); if (props != null) { for (Object key : props.keySet()) { pui.getProperties().put(key, props.get(key)); for (BroadleafClassTransformer transformer : classTransformers) { try { transformer.compileJPAProperties(props, key); } catch (Exception e) { throw new RuntimeException(e); } } } } } if (state == null || !state.isConfigurationOnly()) { if (newPU.getJtaDataSource() != null) { pui.setJtaDataSource(newPU.getJtaDataSource()); } if (newPU.getNonJtaDataSource() != null) { pui.setNonJtaDataSource(newPU.getNonJtaDataSource()); } } else { pui.getProperties().setProperty("hibernate.hbm2ddl.auto", "none"); pui.getProperties().setProperty("hibernate.temp.use_jdbc_metadata_defaults", "false"); } pui.setTransactionType(newPU.getTransactionType()); if (newPU.getPersistenceProviderClassName() != null) { pui.setPersistenceProviderClassName(newPU.getPersistenceProviderClassName()); } if (newPU.getPersistenceProviderPackageName() != null) { pui.setPersistenceProviderPackageName(newPU.getPersistenceProviderPackageName()); } }