Spring и hibernate.cfg.xml - PullRequest
       19

Spring и hibernate.cfg.xml

24 голосов
/ 23 января 2009

Как получить 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 (расположенный в корне моего classpath, того же уровня, что и META-INF), Hibernate вообще не читает его (он полностью игнорируется).

Я пытаюсь настроить кэш второго уровня Hibernate, вставив свойства кэша в hibernate.cfg.xml:

<cache 
    usage="transactional|read-write|nonstrict-read-write|read-only"
    region="RegionName"
    include="all|non-lazy"
/>

Ответы [ 2 ]

27 голосов
/ 26 января 2009

Попробуйте что-то вроде этого ...

<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>
3 голосов
/ 23 января 2009

То, как я делал это раньше, - это создание LocalSessionFactoryBean и установка свойства configLocation.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...