Spring 是否可以在entityManager不扩展的情况下将JPA 对象注入到我的DAO类中JpaDaoSupport?如果是,在这种情况下,Spring是否管理事务?
entityManager
JpaDaoSupport
我试图使我的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>
是的,尽管它充满了陷阱,但由于JPA有点特殊。在代码中没有显式的Spring依赖关系的情况下,非常值得阅读有关注入JPA EntityManager和的文档EntityManagerFactory:
EntityManager
EntityManagerFactory
http://static.springsource.org/spring/docs/3.0.x/spring-framework- reference/html/orm.html#orm- jpa
这使您可以注入EntityManagerFactory,或者EntityManager直接注入线程安全的事务性代理。后者使代码更简单,但意味着需要更多的Spring Pipe。