1

在服务层上使用 spring@Transcational时,我需要放入<annotation driven>xml 文件。

我想知道

  1. 可以javax.jdo.annotations.Transactional像spring一样在服务层上使用吗?无需配置xml文件。ETC?

  2. 可以javax.jdo.annotations.Transactional在服务层上使用,与我是否在 dao 层使用 hibernate/jpa/jdo 无关?除了使用标记方法之外,我还需要配置任何其他东西@Transactional吗?

  3. javax.jdo.annotations.Transactional和之间有什么区别/限制org.springframework.transaction.annotation.Transactional吗?

4

1 回答 1

5

你看过javadoc吗?这是我读到的javax.jdo.annotations.Transactional

用于指示成员(字段或属性)是事务性但不是持久性的注释。这对应于“field”和“property”元素的xml 属性persistence-modifier="transactional"。

这似乎与@TransactionalSpring 的注释无法比较。

描述方法或类的事务属性。

这种注解类型一般可以直接媲美Spring的RuleBasedTransactionAttribute类,实际上AnnotationTransactionAttributeSource会直接将数据转换为后一个类,这样Spring的事务支持代码就不用知道注解了。如果没有与异常相关的规则,它将被视为 DefaultTransactionAttribute(回滚运行时异常)。

所以,回答你的问题:

我可以知道可以javax.jdo.annotations.Transactional像spring一样在服务层上使用吗?不需要配置xml文件。ETC?

不。

可以javax.jdo.annotations.Transactional在服务层上使用,与我是否在 dao 层使用 hibernate/jpa/jdo 无关?除了标记方法之外,还需要配置任何其他东西@Transactional吗?

不,见上文。

javax.jdo.annotations.Transactional和之间有什么不同/限制org.springframework.transaction.annotation.Transactional

是的。一个是苹果,另一个是橙子。

于 2009-12-13T16:11:11.993 回答