我试着查看了几个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
}我发现类似的问题,像this和其他许多人,所以,但我正在寻找更多的外行术语的答案。
发布于 2018-03-23 02:56:52
如果将Transaction设置为readonly = true,则不能调用任何在数据库中创建、更新或删除数据的服务方法。这是因为Hibernate会话上的flushMode将被设置为NEVER,因此将阻止您对数据进行任何更改。只允许选择。
https://stackoverflow.com/questions/49436105
复制相似问题