网摘精灵教程:网摘精灵延时功能详解
2006-05-18 23:53
281 查看
因为lazy的问题,还是采用了OpenSessionInView
一开始我的web.xml配置文件如下:
<filter>
<filter-name>opensession</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
写了个保存的代码测试了一下,报如下的错误:
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
at org.springframework.orm.hibernate3.HibernateTemplate.checkWriteOperationAllowed(HibernateTemplate.java:1076)
at org.springframework.orm.hibernate3.HibernateTemplate$12.doInHibernate(HibernateTemplate.java:616)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:366)
at org.springframework.orm.hibernate3.HibernateTemplate.save(HibernateTemplate.java:614)
at com.phopesoft.security.service.impl.UserServiceImpl.addUser(UserServiceImpl.java:40)
at com.phopesoft.security.web.UserAction.add(UserAction.java:52)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:365)
![](http://www.iteye.com/Images/dot.gif)
![](http://www.iteye.com/Images/dot.gif)
![](http://www.iteye.com/Images/dot.gif)
![](http://www.iteye.com/Images/dot.gif)
![](http://www.iteye.com/Images/dot.gif)
.
在javaeye中搜索了一下,发现了Readonly的帖子,将web.xml修改为如下:
<filter>
<filter-name>opensession</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
<init-param>
<param-name>singleSession</param-name>
<param-value>false</param-value>
</init-param>
</filter>
保存的代码顺利通过测试,但是删除的代码却不能通过了.出现如下的错误:
org.hibernate.HibernateException: Illegal attempt to associate a collection
with two open sessions
at org.hibernate.collection.AbstractPersistentCollection.setCurrentSession(AbstractPersistentCollection.java:410)
at org.hibernate.event.def.OnUpdateVisitor.processCollection(OnUpdateVisitor.java:40)
at org.hibernate.event.def.AbstractVisitor.processValue(AbstractVisitor.java:101)
at org.hibernate.event.def.AbstractVisitor.processValue(AbstractVisitor.java:61)
at org.hibernate.event.def.AbstractVisitor.processEntityPropertyValues(AbstractVisitor.java:55)
at org.hibernate.event.def.AbstractVisitor.process(AbstractVisitor.java:123)
at org.hibernate.event.def.DefaultDeleteEventListener.onDelete(DefaultDeleteEventListener.java:72)
at org.hibernate.impl.SessionImpl.fireDelete(SessionImpl.java:790)
at org.hibernate.impl.SessionImpl.delete(SessionImpl.java:768)
at org.springframework.orm.hibernate3.HibernateTemplate$25.doInHibernate(HibernateTemplate.java:772)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:366)
at org.springframework.orm.hibernate3.HibernateTemplate.delete(HibernateTemplate.java:766)
at org.springframework.orm.hibernate3.HibernateTemplate.delete(HibernateTemplate.java:762)
同样在论坛里面搜索到遇到这个问题的朋友,回帖说去掉singleSession!
迷惑了
一开始我的web.xml配置文件如下:
<filter>
<filter-name>opensession</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
写了个保存的代码测试了一下,报如下的错误:
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
at org.springframework.orm.hibernate3.HibernateTemplate.checkWriteOperationAllowed(HibernateTemplate.java:1076)
at org.springframework.orm.hibernate3.HibernateTemplate$12.doInHibernate(HibernateTemplate.java:616)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:366)
at org.springframework.orm.hibernate3.HibernateTemplate.save(HibernateTemplate.java:614)
at com.phopesoft.security.service.impl.UserServiceImpl.addUser(UserServiceImpl.java:40)
at com.phopesoft.security.web.UserAction.add(UserAction.java:52)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:365)
![](http://www.iteye.com/Images/dot.gif)
![](http://www.iteye.com/Images/dot.gif)
![](http://www.iteye.com/Images/dot.gif)
![](http://www.iteye.com/Images/dot.gif)
![](http://www.iteye.com/Images/dot.gif)
.
在javaeye中搜索了一下,发现了Readonly的帖子,将web.xml修改为如下:
<filter>
<filter-name>opensession</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
<init-param>
<param-name>singleSession</param-name>
<param-value>false</param-value>
</init-param>
</filter>
保存的代码顺利通过测试,但是删除的代码却不能通过了.出现如下的错误:
org.hibernate.HibernateException: Illegal attempt to associate a collection
with two open sessions
at org.hibernate.collection.AbstractPersistentCollection.setCurrentSession(AbstractPersistentCollection.java:410)
at org.hibernate.event.def.OnUpdateVisitor.processCollection(OnUpdateVisitor.java:40)
at org.hibernate.event.def.AbstractVisitor.processValue(AbstractVisitor.java:101)
at org.hibernate.event.def.AbstractVisitor.processValue(AbstractVisitor.java:61)
at org.hibernate.event.def.AbstractVisitor.processEntityPropertyValues(AbstractVisitor.java:55)
at org.hibernate.event.def.AbstractVisitor.process(AbstractVisitor.java:123)
at org.hibernate.event.def.DefaultDeleteEventListener.onDelete(DefaultDeleteEventListener.java:72)
at org.hibernate.impl.SessionImpl.fireDelete(SessionImpl.java:790)
at org.hibernate.impl.SessionImpl.delete(SessionImpl.java:768)
at org.springframework.orm.hibernate3.HibernateTemplate$25.doInHibernate(HibernateTemplate.java:772)
at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:366)
at org.springframework.orm.hibernate3.HibernateTemplate.delete(HibernateTemplate.java:766)
at org.springframework.orm.hibernate3.HibernateTemplate.delete(HibernateTemplate.java:762)
同样在论坛里面搜索到遇到这个问题的朋友,回帖说去掉singleSession!
迷惑了
![](http://www.iteye.com/Emoticons/QQ/02.gif)
相关文章推荐
- Android系列教程之七:EditText使用详解-包含很多教程上看不到的功能演示
- [js高手之路] es6系列教程 - 对象功能扩展详解
- 网摘精灵教程:怎么才能知道网摘精灵的宣传效果
- java实现rabbitMQ延时队列详解以及spring-rabbit整合教程
- [教程] Build.prop 系统参数属性详解,系统性能调整,功能开启关闭等。。。更新完毕。
- 彻底掌握IIS6.0功能及应用详解图文教程二第1/4页
- EditText使用详解-包含很多教程上看不到的功能演示
- PS CC 2014版最新功能:路径模糊和旋转模糊详解(图文教程)
- C#开发教程之FTP上传下载功能详解
- 网摘精灵教程:怎么找到是哪个网摘精灵发送完毕了
- 网摘精灵教程:网摘自动提交工具。
- CSS3实例教程:详解calc()函数功能
- phpcms实现验证码替换及phpcms实现全站搜索功能教程详解
- 彻底掌握IIS6.0功能及应用详解图文教程一第1/2页
- CSS3实例教程:详解calc()函数功能
- Android系列教程之七:EditText使用详解-包含很多教程上看不到的功能演
- Android系列教程之EditText使用详解-包含很多教程上看不到的功能演示
- 网摘精灵教程:网摘精灵界面预览
- EditText使用详解-包含很多教程上看不到的功能演示
- Axure教程:如何使用动态面板?动态面板功能详解