@TransactionAttribute的默认值是什么?

5

我在我的项目中使用EcllipseLink 2.5。 @TransactionAttribute的默认值是必需的。 如果我们将SessionBean定义为TransactionManagementType CONTAINER,则是否仍需要为SessionBean中的每个方法添加@TransactionAttribute注释以支持事务? 有没有办法为所有SessionBeans或整个类添加默认配置? 我不想在类中的每个方法中添加@TransactionAttribute。

任何帮助都将不胜感激。

谢谢

1个回答

7

事务属性的默认值是REQUIRED。如果未使用TransactionAttribute注释并且相关的EJB使用容器管理的事务,则REQUIRED也是默认值。

将EJB标记为CONTAINER TransactionManagementType意味着每个方法都是事务性的,并且默认情况下使用REQUIRED TransactionAttributeType。您甚至可以跳过TransactionManagement注释,因为对于EJB,默认启用CONTAINER TransactionManagementType。您可以使用TransactionAttribute注释来覆盖默认设置。

您可以在类或方法级别上使用TransactionAttribute注释,或者两者都使用,在这种情况下,方法注释将覆盖特定方法的类注释。


谢谢。这对我非常有帮助。 - user3408439

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接