[英]EJB3 / JPA @Transactional
是否存在與Spring的@Transactional等效的EJB或JPA注釋?
等效的EJB3屬性是javax.ejb.TransactionAttribute
。
就像Spring的@Transactional
注解,你可以通過一個控制交易“傳播” TransactionAttributeType
到TransactionAttribute
注釋,如:
@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.