2009-01-23 9 views
24

Wie bekomme ich Spring um Hibernate Eigenschaften von hibernate.cfg.xml zu laden?Spring und hibernate.cfg.xml

Wir verwenden Spring und JPA (mit Hibernate als Implementierung). Spring applicationContext.xml gibt den JPA Dialekt und Hibernate Eigenschaften:

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

In dieser Konfiguration Frühling liest alle Hibernate Eigenschaften über applicationContext.xml. Wenn ich ein hibernate.cfg.xml (an der Wurzel meines Klassenpfads, die gleiche Ebene wie META-INF) erstellen, liest Hibernate es überhaupt nicht (es wird vollständig ignoriert).

Was ich versuche zu konfigurieren zu tun ist, indem die Cache-Eigenschaften in hibernate.cfg.xml Second Level Cache Hibernate:

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

Antwort

27

Versuchen Sie so etwas wie dieses ...

<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

So wie ich das schon getan wird schon durch eine LocalSessionFactoryBean Instanziieren und Einstellung der configLocation Eigenschaft .