@Transactional(read-only = true) 的目的是什么

5 spring spring-transactions

我尝试查看几个SO问题和spring文档,但仍然无法理解@Transactional(read-only = true).

它只能用于只读事务还是可以用于像下面这样实际读写数据库的事情

@Transactional(readOnly = true, propagation = Propagation.REQUIRED
                          , rollbackFor= {Exception.class})
public void doMultipleOperation(MyObj obj) throws Exception{
//call delete DAO method
//call insert DAO method
//call select DAO method
}
Run Code Online (Sandbox Code Playgroud)

我在 SO 上发现了类似的问题其他多个问题,但我正在寻找更通俗易懂的答案。

sta*_*979 -1

如果您将 a 设置Transactionreadonly = true,则不,您将无法调用任何从数据库创建、更新或删除数据的服务方法。这是因为flushModeHibernate 会话上的 将会设置为NEVER,因此您将无法对数据进行任何更改。仅允许选择。