gpt4 book ai didi

ejb - @Transactional注解有什么用

转载 作者:行者123 更新时间:2023-12-03 14:12:05 24 4
gpt4 key购买 nike

我是 EJB 项目的新手。并试图了解 @Transactional 的用法在我的 EJB 方法顶部的注释。我搜索了内容,对此没有明确的解释。任何人都可以清楚地解释这一点。

最佳答案

@Transactional来自 Spring 世界,但 Oracle 最终将其包含在 Java EE 7 规范 ( docs ) 中。以前,您只能使用 @TransactionAttribute 注释 EJB。注释,现在也可以使用 CDI 进行类似处理,使用 @Transactional .这些注释的目的是什么?它向应用服务器发出信号,表明某些类或方法是事务性的,还表明它在某些条件下的行为方式,例如如果它在事务等中被调用怎么办?

一个例子:

@Transactional(Transactional.TxType.MANDATORY)
public void methodThatRequiresTransaction()
{
..
}

如果不是在事务中调用,上面的方法将抛出异常。
@Transactional(Transactional.TxType.REQUIRES_NEW)
public void methodThatWillStartNewTransaction()
{
..
}

Interceptor 将开始一个新的 JTA 事务来执行此方法,无论它是否在正在运行的事务中调用。但是,如果在事务内部调用它,则该事务将在执行此方法期间暂停。

另见:
  • TransactionalTxType
  • 关于ejb - @Transactional注解有什么用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29741906/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com