Próbuję użyć Hibernate 5 (5.2.11) razem z Spring ORM.org.hibernate.UnknownEntityTypeException: Nie można zlokalizować persister: entity.Settings
Po samouczki wpadłem na następującej konfiguracji:
wiosennym 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>
Taka konfiguracja prowadzi do org.hibernate.UnknownEntityTypeException: Unable to locate persister: entity.Settings
.
Jednakże, jak tylko przenieść wszystkie
<prop key="hibernate.xxx">..</prob>
właściwości do hibernate.cfg.xml i zmienić konfigurację wiosny do
<bean id="sessionFactorySettings" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="configLocation" value="/hibernate.cfg.xml"/>
</bean>
wszystko działa poprawnie.
Każdy pomysł, co robię źle?
PS: Zależności:
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'
}
Nigdy nie widziałem konfiguracji, którą napisałeś. Zawsze użyłem lub pliku cfg hibernacji lub konfiguracji hibernacji sprężyny. Czy próbowałeś umieścić listę klasy encji w konfiguracji sprężyny? –
Pomyślałem również, że klasa encji powinna znajdować się w konfiguracji sprężyny. Ale jak? – Hannes