如何在同一个应用程序中同时使用 Spring JPA 和 Hibernate?

我正在使用 Hibernate 5 和 Spring 5,我们希望我们的应用程序同时使用 Hibernate 和 Spring JPA.

I am using Hibernate 5 and Spring 5, and we want our application to use both Hibernate and Spring JPA together.

我们如何在 applicationContext.xml 文件中为这两个东西配置事务管理器并在应用程序中使用它们?

How do we configure the transaction managers for both these things in the applicationContext.xml file and use them in the application?

对于像实体管理器和会话这样的 bean 也是一样的吗?

Same thing for the beans like entity managers and sessions?

谢谢

推荐答案

JPA是规范,hibernate是JPA的实现之一.不知道你到底在问什么.如果您使用的是 Hibernate,您将配置会话事务管理器.

JPA is specification and hibernate is one of the implementation of JPA. Not sure what exactly you are asking. If you are using Hibernate, you will configure session transaction manager.

例如

<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource"/>
    <property name="mappingResources">
        <list>
            <value>org/springframework/samples/petclinic/hibernate/petclinic.hbm.xml</value>
        </list>
    </property>
    <property name="hibernateProperties">
        <value>
            hibernate.dialect=${hibernate.dialect}
        </value>
    </property>
</bean>

<bean id="txManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory"/>
</bean>

相关文章