Closed as not planned
Closed as not planned
Description
Mark Anderson opened SPR-15304 and commented
When using LocalContainerEntityManagerFactoryBean without any JPA xml configurations the following error is seen
Invocation of init method failed; nested exception is javax.persistence.PersistenceException: Unable to resolve persistence unit root URL
My bean is defined as follows
<bean id="configEntityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="configDataSource"/>
<property name="persistenceUnitName" value="configPersistenceUnit" />
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter" />
</property>
<property name="mappingResources">
<array value-type="java.lang.String">
<value>mappings/mapping1.hbm.xml</value>
<value>mappings/mapping2.hbm.xml</value>
</array>
</property>
<property name="jpaProperties">
<value>
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
hibernate.show_sql=false
hibernate.cache.region.factory_class=org.hibernate.cache.ehcache.EhCacheRegionFactory
hibernate.cache.use_second_level_cache=true
net.sf.ehcache.configurationResourceName=file:${conf.dir}/ehcache.xml
</value>
</property>
</bean>
This issue seems to be a further variant of #13474, #15859 and #18819.
The error only occurs when my application is deployed with all code and resources in jar files. I can run without error when the classes and resources are within directories on the classpath.
As a workaround I can add the following and my application will start.
<property name="persistenceUnitRootLocation" value="file:${java.io.tmpdir}" />
Affects: 4.3.6
Issue Links:
- JPA without persistence.xml fails when all classpath items are jars [SPR-8832] #13474 JPA without persistence.xml fails when all classpath items are jars
- DefaultPersistenceUnitManager.determineDefaultPersistenceUnitRootUrl fails when run from a shaded jar [SPR-14246] #18819 DefaultPersistenceUnitManager.determineDefaultPersistenceUnitRootUrl fails when run from a shaded jar
- orm.xml should be recognized by default if using JPA [SPR-11234] #15859 orm.xml should be recognized by default if using JPA