我已成功配置休眠,並且我可以運行事務,但只能從DAO
類的psvm
運行事務。我想用我的spring應用程序配置它,使用相同的配置文件,即hibernate.cfg.xml
。在彈簧應用程序中配置休眠
我該怎麼做?我讀過的大多數教程都忽略了休眠配置文件。
我已成功配置休眠,並且我可以運行事務,但只能從DAO
類的psvm
運行事務。我想用我的spring應用程序配置它,使用相同的配置文件,即hibernate.cfg.xml
。在彈簧應用程序中配置休眠
我該怎麼做?我讀過的大多數教程都忽略了休眠配置文件。
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配置的一個例子
您可以添加沿這段代碼給你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" />
不需要製作'hibernate.cfg.xml',我們也可以在spring文件裏面添加數據。 –