java - Seam @Transactional 注释的正确用法是什么?

标签 java hibernate jpa transactions seam

我对 @Transactional 中使用的值的含义有点困惑注释,特别是 @TransactionPropagationType 。也许加文认为从每个枚举类型的名称来看这已经足够明显了,因此决定不记录实际含义...但我不知道以下任何一个的实际含义:强制、从不、必需、支持。有人这样做吗?

最佳答案

从《Seam in Action》一书中,枚举类型的含义是:

REQUIRED 表示执行该方法需要事务。如果一笔交易 不活跃,Seam 将开始一个新的事务。这是默认类型。

SUPPORTS 表示该方法允许在存在 Activity 交易,但如果交易不活动,则不会开始交易。

MANDATORY 表示执行该方法需要一个 Activity 事务。 如果事务尚未进行,则会引发运行时异常。

NEVER 指示调用此方法时事务不应处于 Activity 状态。 如果事务处于 Activity 状态,则会抛出运行时异常。

希望这有帮助;-)

关于java - Seam @Transactional 注释的正确用法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3257936/

相关文章:

java - Rabbitmq - 当不自动确认消息时如何处理 channel

java - JTable 数据刷新问题

java - Jpa ManyToMany 自引用,无需辅助连接表

java - 如何在java中使用哈希sha256生成哈希码?

java - Eclipse - 如何创建类创建的模板

java - Spring在没有标记@Transactional的情况下不会提供当前 session

Java Spring Hibernate - 没有来自 HTML 表单的波兰语字母

java - 使用乐观锁定时的 Hibernate/MySQL LockTimeoutException

hibernate - 客户端服务器通信和持久性框架

mysql - JPA 中的日期默认初始化