I am trying to use Hibernate 5 (5.2.11) along with Spring ORM.
Following the instructions, I came up with the following configuration:
Spring bean
<bean id="sessionFactorySettings" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">org.hibernate.dialect.H2Dialect</prop> <prop key="hibernate.connection.driver_class">org.h2.Driver</prop> <prop key="hibernate.connection.url">jdbc:h2:~/.dummy/settings</prop> <prop key="hibernate.show_sql">true</prop> <prop key="hibernate.hbm2ddl.auto">update</prop> </props> </property> <property name="mappingResources"> <list> <value>/hibernate.cfg.xml</value> </list> </property> </bean>
Hibernate (hibernate.cfg.xml)
<?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <mapping class="entity.Settings"/> </session-factory> </hibernate-configuration>
This configuration leads to org.hibernate.UnknownEntityTypeException: Unable to locate persister: entity.Settings .
However, as soon as I move everything
<prop key="hibernate.xxx">..</prob>
in hibernate.cfg.xml and I am changing the Spring configuration to
<bean id="sessionFactorySettings" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean"> <property name="configLocation" value="/hibernate.cfg.xml"/> </bean>
everything is working fine.
Any idea what I'm doing wrong?
PS: Dependencies:
dependencies { compile 'ch.qos.logback:logback-classic:1.2.3' compile 'org.springframework:spring-context:4.3.11.RELEASE' compile 'org.springframework:spring-jdbc:4.3.11.RELEASE' compile 'org.springframework:spring-orm:4.3.11.RELEASE' compile 'org.hibernate:hibernate-core:5.2.11.Final' compile 'org.hibernate:hibernate-java8:5.2.11.Final' compile 'org.apache.commons:commons-dbcp2:2.1.1' compile 'com.h2database:h2:1.4.196' }
spring spring-orm hibernate
Hannes
source share