Spring и hibernate.cfg.xml
Как мне получить Spring для загрузки свойств Hibernate из hibernate.cfg.xml
?
Мы используем Spring и JPA (с Hibernate как реализация). Spring applicationContext.xml
указывает свойства диалекта JPA и Hibernate:
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
<property name="jpaDialect">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaDialect" />
</property>
<property name="jpaProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</prop>
</props>
</property>
</bean>
В этой конфигурации Spring читает все свойства Hibernate через applicationContext.xml. Когда я создаю hibernate.cfg.xml
(расположенный в корне моего пути к классу, на том же уровне, что и META-INF), Hibernate вообще не читает его (он полностью игнорируется).
То, что я пытаюсь сделать, это настроить кеш второго уровня Hibernate, вставив свойства кэша в hibernate.cfg.xml
:
<cache
usage="transactional|read-write|nonstrict-read-write|read-only"
region="RegionName"
include="all|non-lazy"
/>
Ответы
Ответ 1
Попробуйте что-нибудь подобное...
<bean
id="mySessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation">
<value>
classpath:location_of_config_file/hibernate.cfg.xml
</value>
</property>
<property name="hibernateProperties">
<props>
...
</props>
</property>
</bean>
Ответ 2
То, как я это делал раньше, - это создать LocalSessionFactoryBean и установить свойство configLocation.