org.springframework.transaction.annotation.Transactional vs javax.jdo.annotations.Transactional

com*_*tta 1 java spring jdo

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

我想知道

  1. 可以javax.jdo.annotations.Transactional将在服务层使用就像春天呢?无需配置xml文件.等等?

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

  3. javax.jdo.annotations.Transactional和之间是否有任何差异/限制org.springframework.transaction.annotation.Transactional

Pas*_*ent 6

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

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

这似乎与@TransactionalSpring 的注释不相上下.

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

这个注释类型通常可以直接与Spring的RuleBasedTransactionAttribute类相比,实际上AnnotationTransactionAttributeSource将直接将数据转换为后一个类,因此Spring的事务支持代码不必知道注释.如果没有规则与异常相关,则将其视为DefaultTransactionAttribute(回滚运行时异常).

那么,回答你的问题:

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

没有.

可以javax.jdo.annotations.Transactional在服务层使用独立于我是否在dao层使用hibernate/jpa/jdo?需要配置标记方法旁边的任何其他东西@Transactional吗?

不,见上文.

javax.jdo.annotations.Transactional和之间的任何不同/限制org.springframework.transaction.annotation.Transactional

是.一个是苹果,另一个是橙子.