hibernate异常:解决Hibernate的Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL):
来源:互联网 发布:js中单双引号 编辑:程序博客网 时间:2024/05/30 12:03
hibernate异常:解决Hibernate的Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL): Turn your Session into FlushMode.COMMIT/AUTO or remove ‘readOnly’ marker from transaction definition.
方法1:在出现异常的方法中加入
1
getHibernateTemplate().setFlushMode(HibernateTemplate.FLUSH_EAGER);
方法2:重写OpenSessionInViewFilter
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package
cn.com.farben.framework.util;
import
org.hibernate.FlushMode;
import
org.hibernate.Session;
import
org.hibernate.SessionFactory;
import
org.springframework.dao.DataAccessResourceFailureException;
import
org.springframework.orm.hibernate3.SessionFactoryUtils;
public
class
OpenSessionInViewFilter
extends
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter {
protected
Session getSession(SessionFactory sessionFactory)
throws
DataAccessResourceFailureException {
Session session = SessionFactoryUtils.getSession(sessionFactory,
true
);
session.setFlushMode(FlushMode.COMMIT);
return
session;
}
protected
void
closeSession(Session session, SessionFactory factory) {
session.flush();
super
.closeSession(session, factory);
}
}
配置web.xml:
1
2
3
4
5
6
7
8
9
10
11
12
<
filter
>
<
filter-name
>hibernateFilter</
filter-name
>
<
filter-class
>cn.com.farben.framework.util.OpenSessionInViewFilter</
filter-class
>
<
init-param
>
<
param-name
>singleSession</
param-name
>
<
param-value
>true</
param-value
>
</
init-param
>
</
filter
>
<
filter-mapping
>
<
filter-name
>hibernateFilter</
filter-name
>
<
url-pattern
>/*</
url-pattern
>
</
filter-mapping
>
总结:
Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL): Turn your Session into FlushMode.COMMIT/AUTO or remove ‘readOnly’ marker from transaction definition.
很明显,从上面的异常信息可以清晰地知道在事务切入的方法中(数据库写入操作)必须将session设置为FlushMode.COMMIT或者FlushMode.AUTO。
0 0
- hibernate异常:解决Hibernate的Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL):
- Spring+Hibernate报错:Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL)
- Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL)异常解决方法
- Hibernate 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): 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): 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.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.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.NEVER/MANUAL):
- Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL): Turn your Session into
- 使用Android Studio搭建Android集成开发环境
- T440P优化相关
- TIBCO Enterprise Message Service功能介绍
- 四种内存管理类及用法
- android导入eclipse项目后,gradle版本引起的问题
- hibernate异常:解决Hibernate的Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL):
- 百度地图getAddrStr()方法返回为空的问题
- uva 11077 - Find the Permutations(置换+dp)
- 美元兑人民币汇率对黄金价格的预测
- 求循环素数
- Block的循环引用问题
- Android导航菜单横向左右滑动并和上方的控件实现联动
- 没有iptables文件的情况,防火墙开启3306端口
- Python heapq模块