ssh整合的时候出现错误:Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL)

来源:互联网 发布:中国最快的网络 编辑:程序博客网 时间:2024/06/02 06:32

看了论坛中前辈的指点,以下这两种方式可以解决问题
解决方式一:
在项目中使用Spring+Hibernate的时候,会开启OpenSessionInViewFilter来阻止延迟加载的错误,但是在我们开启OpenSessionInViewFilter这个过滤器的时候FlushMode就已经被默认设置为了MANUAL,如果FlushMode是MANUAL或NEVEL,在操作过程中 hibernate会将事务设置为readonly,所以在增加、删除或修改操作过程中会出现如下错误,只要在那个filter里面加上这段代码就OK了

<init-param>       <param-name>flushMode</param-name>       <param-value>AUTO</param-value>  </init-param>

方式二:
也可以在持久层当中执行save等其他方法之前加这么一句:

this.getHibernateTemplate().getSessionFactory().getCurrentSession().setFlushMode(FlushMode.AUTO);
0 0
原创粉丝点击