java - localcontainerentitymanagerfactorybean - springboot jpa save




Spring和hibernate.cfg.xml (2)

之前我這樣做的方法是實例化LocalSessionFactoryBean並設置configLocation屬性。

如何讓Spring從hibernate.cfg.xml加載Hibernate的屬性?

我們使用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通過applicationContext.xml讀取所有Hibernate屬性。 當我創建一個hibernate.cfg.xml (位於我的類路徑的根目錄,與META-INF相同的級別)時,Hibernate根本不讀它(它完全被忽略)。

我想要做的是通過在hibernate.cfg.xml插入緩存屬性來配置Hibernate二級緩存:

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

試試這樣的事......

<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>




jpa