JSP中的session与Hibernate的session对象同步问题。
来源:互联网 发布:gta5小丑捏脸数据 编辑:程序博客网 时间:2024/05/16 12:57
导读:
问题描述:
在进行message的删除操作时,会存在信息删除后,虽然在数据库已经同步了,但在表现在层还会出现尚未操作时的页面,而且在不断的刷新过程中表现层的还不断的变化(在未操作前的形式和操作后的形式间变化)。在用hibernate控制类中用session.clear()虽然能解决问题,但是又会出在从JSP页面的session里获得相关对象时并且调用它获得与之相关联的对象时出现异常:
org.hibernate.HibernateException: collection was evicted
原理分析:
因为在页面中,用的代码为:
Member mem = (Member)session.getAttribute("user");
Set set = mem.getSentMessages();//在这行报错
那时因为我们在底层用了session.clear()方法已经把所有的对象清除了,但是这个对晚却还保存在JSP页面中的session里,所以我们在从JSP的session获得这个对象并不会报错,而是在我们能过他获得相关对象时报错,那里因为在JSP中的session并没有把user对象相关的对象保存在JSP的session里。
解决方法:
将以上代码改成:
Member mem = (Member)session.getAttribute("user");
mem = new MemberController().getMemberById(mem.getId().toString());
//从控制类中根据这个对像的基本信息重新从hibernate的session里获取这个对像。
Set set = mem.getSentMessages();
注:public class MemberController {
//私有变量和其它的方法
public Member getMemberById(String id){
return (Member)session.load(Member.class, id);
}
}
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1422436
问题描述:
在进行message的删除操作时,会存在信息删除后,虽然在数据库已经同步了,但在表现在层还会出现尚未操作时的页面,而且在不断的刷新过程中表现层的还不断的变化(在未操作前的形式和操作后的形式间变化)。在用hibernate控制类中用session.clear()虽然能解决问题,但是又会出在从JSP页面的session里获得相关对象时并且调用它获得与之相关联的对象时出现异常:
org.hibernate.HibernateException: collection was evicted
原理分析:
因为在页面中,用的代码为:
Member mem = (Member)session.getAttribute("user");
Set set = mem.getSentMessages();//在这行报错
那时因为我们在底层用了session.clear()方法已经把所有的对象清除了,但是这个对晚却还保存在JSP页面中的session里,所以我们在从JSP的session获得这个对象并不会报错,而是在我们能过他获得相关对象时报错,那里因为在JSP中的session并没有把user对象相关的对象保存在JSP的session里。
解决方法:
将以上代码改成:
Member mem = (Member)session.getAttribute("user");
mem = new MemberController().getMemberById(mem.getId().toString());
//从控制类中根据这个对像的基本信息重新从hibernate的session里获取这个对像。
Set set = mem.getSentMessages();
注:public class MemberController {
//私有变量和其它的方法
public Member getMemberById(String id){
return (Member)session.load(Member.class, id);
}
}
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1422436
- JSP中的session与Hibernate的session对象同步问题。
- Jsp中的session对象
- hibernate中的Session对象
- Hibernate中的Session对象
- 关于Jsp与Servlet中的Session对象
- jsp中的内置对象Cookie与session的比较
- HttpSesion对象 与 Hibernate中的session 的区别?
- Spring与Hibernate集成中的session问题
- Spring与Hibernate集成中的session问题
- Spring与Hibernate集成中的session问题
- Spring与Hibernate集成中的session问题
- Spring与Hibernate集成中的Session问题
- Hibernate中的Session对象的一级缓存
- JSP的session对象
- JSP的session对象
- hibernate的session对象
- Hibernate 之 Session 与 Session Factory 对象
- jsp中的cookie与session的区别
- JSP入门教程:JSP简明教程
- 一段经典的面试对话
- JSP入门教程(1)
- (源码实例)通过层DIV实现,当鼠标放在链接上面,显示图片及文字
- JSP入门教程(2)
- JSP中的session与Hibernate的session对象同步问题。
- JSP入门教程(3)
- 用JS实现移动的窗口 - 流星絮语 JAVA学习笔记 - CSDNBlog
- sql server数据库定时自动备份[转]
- JSP入门教程(4)
- 正则表达式
- 使用多线程提高 Windows 窗体应用程序的性能时,必须注意以线程安全方式调用控件
- 利用innerHTML实现隐显效果-两种实现方法
- 想知道CSDN的评论一提交上去就显示出来的AJAX是怎么实现的吗!!