Write operations are not allowed in read-only mode (FlushMode.MANUAL)错误解决
来源:互联网 发布:网络课件制作 编辑:程序博客网 时间:2024/05/20 08:45
最近在配置 Structs, spring 和hibernate整合的问题:
开启OpenSessionInViewFilter来阻止延迟加载的错误的时候抛出了这个异常:
org.springframework.dao.InvalidDataAccessApiUsageException错误
但是在我们开启OpenSessionInViewFilter这个过滤器的时候FlushMode就已经被默认设置为了MANUAL!
如果FlushMode是MANUAL或NEVEL,在操作过程中 hibernate会将事务设置为readonly,所以在增加、删除或修改操作过程中会出现如下错误:
org.springframework.dao.InvalidDataAccessApiUsageException:
Write operations are not allowed in read-only mode (FlushMode.NEVER) turn your Session into FlushMode.AUTO or remove 'readOnly' marker from transaction definition;
解决办法1:
直接修改OpenSessionInViewFilter过滤器的配置,配置过滤器的时候配置就是在一般的配置里面加上下面蓝色部分就可以了,直接指定flushMode的配置就OK了:
下面是配置文件:(web.xml)
解决方法2:
就是配置事务的边界,在你方法的执行时配置事务边界!
下面是sessionFactor.xml配置:
下面是总结:
原理:因为配置openSessionInView时,启动后他默认是给没有配置事务边界的方法都默认为只读的,所以在插入数据时就会报上面的错
- Write operations are not allowed in read-only mode (FlushMode.MANUAL)错误解决
- 错误:Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL)
- 错误:Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL)..
- 错误:Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL)..
- Write operations are not allowed in read-only mode (FlushMode.MANUAL)错误的解决方法
- 错误:Write operations are not allowed in read-only mode (FlushMode.MANUAL)
- 解决Spring4+Hibernate4遇到的 Write operations are not allowed in read-only mode (FlushMode.MANUAL)
- 解决 Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL): Turn your Session in
- Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL): Turn your Session into
- Write operations are not allowed in read-only mode (FlushMode.MANUAL): Turn your Session into FlushM
- Hibernate Write operations are not allowed in read-only mode (FlushMode.MANUAL)
- Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL): Turn your Session into
- Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL)..
- Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL)
- Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL): Turn your Session into
- Write operations are not allowed in read-only mode (FlushMode.MANUAL): Turn
- Write operations are not allowed in read-only mode (FlushMode.MANUAL): 解决方法
- Write operations are not allowed in read-only mode (FlushMode.MANUAL):
- ACM: Nearest Numbers
- (转载)(mark) poj→根深蒂固
- centos 安装docker
- 热修复原理分析
- 队列
- Write operations are not allowed in read-only mode (FlushMode.MANUAL)错误解决
- POJ1795_DNA Laboratory_状压DP
- Android数据存储概述
- c++ const 变量基础
- opencv3_java 图像检测人脸图像CascadeClassifier DetectObjects lbpcascade_frontalface
- Nginx
- Android集成第三方app的两种方式
- Oracle学习笔记一
- Hibernate常见优化策略