localcontainerentitymanagerfactorybean java hibernate spring jpa

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>