我有方法:
@Transactional(readOnly = true)
public List<Person> getPersonList(Form form) {
return personDao.listCustom(form);
}
personDao是与PersonInceptor拦截的。这个拦截器保存请求:
public Odpoved logRequest(Request request) {
return requestDao.insert(request);
}
我的问题是为什么这个例子有效并且不抛出异常
答案 0 :(得分:0)
readOnly=true
是ORM框架的一个提示,以优化数据访问,而不是写入的障碍。您可以从http://docs.spring.io/spring/docs/3.0.x/api/org/springframework/transaction/annotation/Transactional.html
readOnly的
public abstract boolean readOnly如果事务是只读的,则为true。 默认为false。 这只是对实际情况的暗示 交易子系统;它不一定会导致写入失败 访问尝试次数。一个无法解释的事务管理器 当被要求提供只读时,只读提示不会引发异常 事务。
另见:TransactionDefinition.isReadOnly()默认值:false