是否有一个与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() {...}
}

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

10-04 16:39