在spring应用程序中配置hibernate

时间:2014-05-07 08:49:25

标签: java spring hibernate java-ee

我已经成功配置了hibernate,但我只能从psvm类的DAO运行事务。我想使用相同的配置文件hibernate.cfg.xml使用我的spring应用程序配置它。

我该怎么做?我读过的大多数教程都忽略了hibernate配置文件。

2 个答案:

答案 0 :(得分: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" />

答案 1 :(得分:0)

为LocalEntityManagerFactoryBean指定了hibernate.cfg.xml文件以及DataSource

<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配置示例