一尘不染

如何使用Spring注入JPA EntityManager

spring

Spring是否可以在entityManager不扩展的情况下将JPA 对象注入到我的DAO类中JpaDaoSupport?如果是,在这种情况下,Spring是否管理事务?

我试图使我的Spring配置尽可能简单:

<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
    <property name="entityManagerFactory" ref="em"/>
</bean>
<bean id="em" class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
    <property name="persistenceUnitName" value="myPU"/>
</bean>

阅读 953

收藏
2020-04-18

共1个答案

一尘不染

是的,尽管它充满了陷阱,但由于JPA有点特殊。在代码中没有显式的Spring依赖关系的情况下,非常值得阅读有关注入JPA EntityManager和的文档EntityManagerFactory

http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/orm.html#orm-jpa

这使你可以注入EntityManagerFactory,或者EntityManager直接注入线程安全的事务性代理。后者使代码更简单,但意味着需要更多的Spring Pipe。

2020-04-18