簡體   English   中英

EJB3 / JPA @Transactional

[英]EJB3 / JPA @Transactional

是否存在與Spring的@Transactional等效的EJB或JPA注釋?

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

就像Spring的@Transactional注解,你可以通過一個控制交易“傳播” TransactionAttributeTypeTransactionAttribute注釋,如:

@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() {...}
}

容器管理的事務在Java EE 5教程的第IV部分中描述。

請參閱javadoc。

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

即段落:有關將@Transactional與EJB一起使用的限制,請參閱EJB規范。

我沒有在EJB 3.2中找到任何關於此支持的條件的引用。

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

但是,我在weblogic 12.1.2 EJB 3.1中 - @Transactional屬性適用於使用CDI @Inject批注注入基類的@Stateless @Local ejbs。

在任何情況下,我都不會對EJB使用@Transactional注釋,即使所有EJB都是本地的,並且使用@Inject而不是@EJB將它們全部注入。 我會繼續在EJB中使用@TransactionAttribute。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM