2014-05-07 67 views
0

我已成功配置休眠,並且我可以運行事務,但只能從DAO類的psvm運行事務。我想用我的spring應用程序配置它,使用相同的配置文件,即hibernate.cfg.xml在彈簧應用程序中配置休眠

我該怎麼做?我讀過的大多數教程都忽略了休眠配置文件。

+0

不需要製作'hibernate.cfg.xml',我們也可以在spring文件裏面添加數據。 –

回答

0

hibernate.cfg.xml文件是爲LocalEntityManagerFactoryBean負責指定的,與你的數據源

<bean id="entityManagerFactory" 
     class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> 
     <property name="persistenceXmlLocation" value="classpath*:META-INF/hibernate.cfg.xml" /> 
     <property name="dataSource" ref="dataSource" /> 
    </bean> 

Here你可以找到含有一些Hibernate配置一個Spring XML配置的一個例子

1

您可以添加沿這段代碼給你xml文件來配置hibernate。

<!-- Hibernate Related Configuration. --> 

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> 
     <property name="driverClassName" value="org.postgresql.Driver"/> 
     <property name="url" value="jdbc:postgresql://192.168.1.9:5432/dbname"/> 
     <property name="username" value="postgres"/> 
     <property name="password" value="pwd"/> 
     <property name="validationQuery" value="SELECT 1"/> 
    </bean> 

    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> 
     <property name="dataSource" ref="dataSource"/> 
     <property name="packagesToScan" value="com.domain"/> 
     <property name="hibernateProperties"> 
      <props> 
       <prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop> 
       <prop key="hibernate.show_sql">true</prop> 
       <prop key="hibernate.format_sql">true</prop> 
       <prop key="hibernate.generate_statistics">true</prop> 
      </props> 
     </property> 
    </bean> 

    <!-- Transaction Manager --> 
    <bean id="txManager" 
      class="org.springframework.orm.hibernate3.HibernateTransactionManager"> 
     <property name="sessionFactory" ref="sessionFactory" /> 
    </bean> 

    <tx:annotation-driven transaction-manager="txManager" />