小编典典

如何使用Spring注入JPA EntityManager

java

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>

阅读 208

收藏
2020-09-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-09-18