我在我的项目中使用 EcllipseLink 2.5。
@TransactionAttribute 的默认值是必需的。
如果我们将SessionBean定义为TransactionManagementType CONTAINER,是否还需要为SessionBean中的每个方法都添加@TransactionAttribute注解来支持事务?
无论如何要为所有 SessionBeans 或整个类添加默认配置?
我不想在类中的每个方法中添加 @TransactionAttribute。
任何帮助将非常感激。
谢谢
最佳答案
TransactionAttribute 的默认值为 REQUIRED。如果没有使用 TransactionAttribute 注释并且所讨论的 EJB 使用容器管理的事务,则 REQUIRED 也是默认值。
用 CONTAINER TransactionManagementType 标记 EJB 意味着每个方法都是事务性的,默认情况下使用 REQUIRED TransactionAttributeType。您甚至可以跳过 TransactionManagement 注释,因为默认情况下为 EJB 启用了 CONTAINER TransactionManagementType。您可以使用 TransactionAttribute 注释来覆盖默认值。
您可以在类或方法级别或两者上使用 TransactionAttribute 注释,在这种情况下,方法注释将覆盖特定方法的类注释。
关于java - @TransactionAttribute 的默认值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27572983/