我尝试了几个SO问题和弹簧文档,但仍然无法理解@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和其他多个问题的类似问题,但我正在寻找更多外行人的答案。
答案 0 :(得分:0)
如果将Transaction
设置为readonly = true
,则不会,您将无法调用任何创建,更新或删除数据库中数据的服务方法。这是因为Hibernate会话中的flushMode
将设置为NEVER
,因此您将无法对数据进行任何更改。只允许选择。