不使用注释时所需的持久性/事务配置的问题

时间:2011-03-23 17:55:46

标签: spring jpa

我们正在使用JPA / Hibernate和通过AOP进行的交易,但是,我们没有使用任何注释(所有JPA配置都是持久性的,orm文件和事务只通过AOP)。我们使用的唯一注释是在setEntityManager:

/**
* Sets the entity manager.
*
* @param entityManager
* the new entity manager
*/
@PersistenceContext
public void setEntityManager(final EntityManager entityManager) {
this.entityManager = entityManager;
}

如果我没有使用注释进行事务处理或JPA映射,那么我是否需要使用以下配置功能?

<tx:annotation-driven transaction-manager="GlobalDataTransactionManager"/>

<bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />

感谢您的帮助......周杰伦

1 个答案:

答案 0 :(得分:2)

您需要PersistenceAnnotationBeanPostProcessor,但不需要<tx:annotation-driven>

  • <tx:annotation-driven />在注释类周围注册代理。由于您有xml配置,因此您已拥有事务代理
  • 后处理器处理DAO上的@PersistenceContext注释。