hibernate的load查询单个对象no session问题
2014-12-15 14:35
309 查看
public User get(Long id){
return this.getHibernateTemplate().get(User.class, id);
}
public User load(Long id){
return this.getHibernateTemplate().load(User.class, id);
}
以上两个方法get立即加载,如果获得对象不存在返回null,load延迟加载,如果要查询的对象不存在报异常。
load方法存在no session问题,因为是延迟加载的,所以这句代码执行完之后并没有去查数据,但前天页面真正用到数据时他才去查,可这时session就已经关闭了,所以就报异常了。可以通过在web.xml配置文件中添加
<filter>
<filter-name>openSessionInView</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>openSessionInView</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
即可。
注意这个过滤器要添加在struts.xml之前。
这个不是最好的解决办法,后期再写吧。
return this.getHibernateTemplate().get(User.class, id);
}
public User load(Long id){
return this.getHibernateTemplate().load(User.class, id);
}
以上两个方法get立即加载,如果获得对象不存在返回null,load延迟加载,如果要查询的对象不存在报异常。
load方法存在no session问题,因为是延迟加载的,所以这句代码执行完之后并没有去查数据,但前天页面真正用到数据时他才去查,可这时session就已经关闭了,所以就报异常了。可以通过在web.xml配置文件中添加
<filter>
<filter-name>openSessionInView</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>openSessionInView</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
即可。
注意这个过滤器要添加在struts.xml之前。
这个不是最好的解决办法,后期再写吧。
相关文章推荐
- Hibernate查询对象所有字段,单个字段 ,几个字段取值的问题
- 在hibernate中查询单个对象的方法,get()、load()、
- Hibernate查询对象所有字段,单个字段 ,几个字段取值的问题
- Hibernate查询对象所有字段,单个字段 ,几个字段取值的问题
- [转]Hibernate查询对象所有字段,单个字段 ,几个字段取值的问题
- Hibernate查询对象所有字段,单个字段 ,几个字段取值的问题
- 通过hibernate session.connection()获得数据库连接时,导致的查询缓慢甚至假死机问题
- SpringMVC3+Hibernate4问题:org.hibernate.HibernateException: No Session found for current thread
- Hibernate学习笔记---通过load和get方法来查询对象(只能根据主键来查询)
- Hibernate中关于多表连接查询hql 和 sql 返回值集合中对象问题
- Hibernate中的session.load(class,id)参数问题
- 新手上路之Hibernate(三):持久化对象三种状态以及session的Get()与Load()区别
- 使用clone解决hibernate+spring集成中的延迟加载问题及分析(no session or session was closed)
- spring+hibernate 项目lazy = true 时 no session or session was closed 问题处理
- 使用clone解决hibernate+spring集成中的延迟加载问题及分析(no session or session was closed)
- Hibernate中关于多表连接查询hql 和 sql 返回值集合中对象问题
- 解决Hiberante延迟加载问题——could not initialize proxy - no Session & 简介Hibernate的持久化
- 对象的三种状态(hibernate的session的get和load方法的区别,session的常用方法,session缓存)
- 解决一个Sping管理hibernate时的事务问题(No Hibernate Session bound to thread)
- Hibernate的Session get与load对象区别备忘