首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EJB3 / JPA @事务

EJB3 / JPA @事务
EN

Stack Overflow用户
提问于 2011-07-29 01:31:13
回答 2查看 9.3K关注 0票数 7

是否有一个EJB或JPA通知等同于Spring的@Transactional?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-29 01:41:47

等效的EJB3属性是javax.ejb.TransactionAttribute

就像Spring的@Transactional注释一样,您可以通过将TransactionAttributeType传递给TransactionAttribute注释来控制事务的“传播”,如下所示:

代码语言:javascript
复制
@TransactionAttribute(NOT_SUPPORTED)
@Stateful
public class TransactionBean implements Transaction {
...
    @TransactionAttribute(REQUIRES_NEW)
    public void firstMethod() {...}

    @TransactionAttribute(REQUIRED)
    public void secondMethod() {...}

    public void thirdMethod() {...}

    public void fourthMethod() {...}
}

容器管理的事务在Part IV of the Java EE 5 Tutorial中描述。

票数 8
EN

Stack Overflow用户

发布于 2015-10-22 16:10:29

请参阅上的javadoc。

http://docs.oracle.com/javaee/7/api/javax/transaction/Transactional.html

也就是说,请参阅EJB规范中关于在EJB中使用@Transactional的限制。

在EJB3.2中,我没有发现任何关于这种支持的条件的引用。

http://www.oracle.com/technetwork/java/javaee/tech/index-jsp-142185.html

然而,我在weblogic 12.1.2 EJB 3.1中-- @Transactional属性适用于@Stateless @Local EJB,您可以使用CDI @Inject注释将其注入基类中。

在任何情况下,我都不会对EJB使用@Transactional注释,即使您的所有EJB都是本地的,并且都是用@Inject而不是@EJB注入的。我将继续在EJB中使用@TransactionAttribute。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6863142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档