您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

@Transactional在类级别时如何使用只读

@Transactional在类级别时如何使用只读

从Spring API 这里

在评估方法的事务设置时,最派生的位置优先。 在下面的示例中,DefaultFooService类在类级别使用只读事务的设置进行注释,但是同一类中updateFoo(Foo)方法上的@Transactional注释优先于定义的事务设置在课堂上。

@Transactional(readOnly = true)
public class DefaultFooService implements FooService {

  public Foo getFoo(String fooName) {
    // do something
  }

  // these settings have precedence for this method
  @Transactional(readOnly = false, propagation = Propagation.REQUIRES_NEW)
  public void updateFoo(Foo foo) {
    // do something
  }
}

@Transactional批注是元数据,用于指定接口,类或方法必须具有事务语义; 例如,“在调用方法时启动一个全新的只读事务,暂停任何现有事务”。认的@Transactional设置如下:

传播设置为PROPAGATION_required

隔离级别为ISOLATION_DEFAULT。

事务是读/写。

事务超时认为基础事务系统的认超时,如果不支持超时,则认为无。

任何RuntimeException都会触发回滚,而任何选中的Exception都不会触发。

其他 2022/1/1 18:19:44 有534人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶