java - localcontainerentitymanagerfactorybean - Spring e hibernate.cfg.xml
spring jpa hibernate (2)
¿Cómo hago para que Spring cargue las propiedades de hibernate.cfg.xml
desde hibernate.cfg.xml
?
Estamos usando Spring y JPA (con Hibernate como implementación). Spring applicationContext.xml
especifica el dialecto JPA y las propiedades de 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>
En esta configuración, Spring lee todas las propiedades de Hibernate a través de applicationContext.xml. Cuando creo un hibernate.cfg.xml
(ubicado en la raíz de mi classpath, el mismo nivel que META-INF), Hibernate no lo lee en absoluto (se ignora por completo).
Lo que trato de hacer es configurar la memoria caché de segundo nivel de Hibernate insertando las propiedades de caché en hibernate.cfg.xml
:
<cache
usage="transactional|read-write|nonstrict-read-write|read-only"
region="RegionName"
include="all|non-lazy"
/>
La forma en que he hecho esto antes es creando una instancia de LocalSessionFactoryBean y estableciendo la propiedad configLocation.
Prueba algo como esto ...
<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>