在整合ssh框架的时候,问题慢慢的得到解决,用spring来管理个个组建之间的关系,各个bean之间的关系,用spring来管理一系列的事情,我们可以省下来更多的功夫去处理我们的业务,然而hibernate的lazy属性加载的时候一般都会遇到session is closed 的情况,spring提供了一个过滤器,opensessioninview,这个过滤器就会在页面提交和页面打开之前,打开一个session。具体的过滤器是什么之类的话题这里不多说。
使用opensessioninview的时候,进行增删改的时候就会报异常
[color=blue]Write operations are not allowed in read-only mode (FlushMode.NEVER) - turn your Session into FlushMode.AUTO or remove 'readOnly' marker from transaction definition[/color]
在网上查了很多的资料,一开始的时候认为是事物配置的问题,可是配置完以后,还是不对,大概郁闷了两三天,今天在网上找到一个办法试了试,ok。
就是在web.xml中配置过滤器的时候加上一个参数如下所示
橙色部分为新加的
我暂时还没明白这段参数到底是什么意思,现在只是分享一下我的快乐。今天很高兴解决了这个问题。
使用opensessioninview的时候,进行增删改的时候就会报异常
[color=blue]Write operations are not allowed in read-only mode (FlushMode.NEVER) - turn your Session into FlushMode.AUTO or remove 'readOnly' marker from transaction definition[/color]
在网上查了很多的资料,一开始的时候认为是事物配置的问题,可是配置完以后,还是不对,大概郁闷了两三天,今天在网上找到一个办法试了试,ok。
就是在web.xml中配置过滤器的时候加上一个参数如下所示
<filter>
<filter-name>OpenSessionInViewFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
[color=orange]<init-param>
<param-name>singleSession</param-name>
<param-value>false</param-value>
</init-param>[/color]
</filter>
.橙色部分为新加的
我暂时还没明白这段参数到底是什么意思,现在只是分享一下我的快乐。今天很高兴解决了这个问题。