`
springking
  • 浏览: 131164 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

spring+hibernate避免延迟加载异常

阅读更多

在hibernate中,延迟加载是1个非常大的优点,但有时候却给我们带来一些小麻烦,在后台查询结束后,session已经关闭,但在前台显示的时候,如果存在关联关系就会产生延迟加载异常。
解决办法是客户端每次请求就分配1个session,将请求结果返回给客户端,并完成展现后关闭session。

实现这个功能非常简单,在web.xml中加入以下配置

<filter>
      <filter-name>hibernateFilter</filter-name>
              <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter </filter-class>
      <init-param>
          <param-name>singleSession</param-name>
          <param-value>true</param-value>
      </init-param>
</filter>

<filter-mapping>
      <filter-name>hibernateFilter</filter-name>
      <url-pattern>*.do</url-pattern>
  </filter-mapping>

使用spring提供这个过滤器就可以实现session的集中管理了,所有以.do结尾的请求都自动分配了1个session,并且在这个请求过程中都使用这个session.

分享到:
评论
1 楼 wang19920126 2013-07-02  
这种配置效率严重低下,session的生命周期大大延长,而且还会经常照成session无法关闭,很多时候多执行几次就挂了。严重不推荐,最好代码控制加载方式

相关推荐

    spring+hibernate代码实例集

    与spring 结合hibernate关系映射(父子,组合),事务,延迟加载。采用maven测试,hsqldb

    Hibernate延迟加载以及利用Spring

    Hibernate延迟加载以及利用Spring 大家看看 参考一下

    SSH2 annotation 实现struts2.1.6 spring2.5.6 hibernate3.3 全注解开发

    SSH2 annotation 实现struts2.1.6 spring2.5.6 hibernate3.3 全注解开发 hibernate延迟加载_懒加载 具体应用

    Hibernate延迟加载介绍.doc

    Hibernate延迟加载介绍.doc

    Struts Spring Hibernate 整合 OpenSessionInView 例子

    为了练手培训,给大家准备的 Open...3.通过 open session in view filter 支持 延迟加载 4.在页面上通过 jstl 很优雅的获取数据 5.通过 spring aop(aspectJ) 声明事务 6.通过formular 映射参数表,指定两个死的变量

    Java求职面试宝典各大公司常考知识点

    1.11. Hibernate是如何延迟加载? 6 1.12. Hibernate中怎样实现类之间的关系?(如:一对多、多对多的关系) 6 1.13. Hibernate的查询方式 7 1.14. 如何优化Hibernate? 7 2 Struts部分 7 4.1. Struts1.x工作机制? 7 ...

    jtechlog-lazy:JPA延迟加载

    提供了EclipseLink和Hibernate持久性提供程序的JPA延迟加载。 具有JPA持久层和Spring MVC Web层的双层应用程序。 可以用Maven构建,下载后mvn jetty:run命令mvn jetty:run 。 它默认设置为 EclipseLink,您需要...

    Spring.3.x企业应用开发实战(完整版).part2

    12.2.8 延迟加载的问题 12.3 在Spring中使用myBatis 12.3.1 配置SqlMapClient 12.3.2 在Spring配置myBatis 12.3.3 编写myBatis的DAO 12.5 DAO层设计 12.5.1 DAO基类的设计 12.5.2 查询接口方法的设计 12.5.3 分页...

    Spring中文帮助文档

    6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点运算 7.2.3. AspectJ切入点表达式 7.2.4. 便利的切入...

    Spring面试题

    1. Hibernate2延迟加载实现:a)实体对象 b)集合(Collection) 2. Hibernate3 提供了属性的延迟加载功能 当Hibernate在查询数据的时候,数据并没有存在与内存中,当程序真正对数据的操作时,对象才存在与内存中,...

    Spring API

    6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7. Spring AOP APIs 7.1. 简介 7.2. Spring中的切入点API 7.2.1. 概念 7.2.2. 切入点运算 7.2.3. AspectJ切入点表达式 7.2.4. 便利的切入...

    Spring3.x企业应用开发实战(完整版) part1

    12.2.8 延迟加载的问题 12.3 在Spring中使用myBatis 12.3.1 配置SqlMapClient 12.3.2 在Spring配置myBatis 12.3.3 编写myBatis的DAO 12.5 DAO层设计 12.5.1 DAO基类的设计 12.5.2 查询接口方法的设计 12.5.3 分页...

    ember-cli-spring-boot:ember-data 的 Spring Boot 集成

    ember-cli-spring-boot ember-data 的 Spring Boot ... 这意味着所有关系都是延迟加载的(Hibernate 喜欢这个)。 //blog export default DS . Model . extend ( { name : DS . attr ( 'string' ) , category : D

    Java常见面试题208道.docx

    面试题包括以下十九部分:Java 基础、容器、多线程、反射、对象拷贝、Java Web 模块、异常、网络、设计模式、Spring/Spring MVC、Spring Boot/Spring Cloud、Hibernate、Mybatis、RabbitMQ、Kafka、Zookeeper、MySql...

    mybatis学习笔记

    5.6.2 一对一查询延迟加载 56 5.6.3 一对多延迟加载 59 5.6.4 延迟加载小结 59 6 查询缓存 59 6.1 mybatis缓存介绍 59 6.2 一级缓存 60 6.2.1 原理 60 6.2.2 测试1 61 6.2.3 测试2 61 6.3 二级缓存 62 6.3.1 原理 62...

    Hibernate开发指南

    延迟加载(Lazy Loading)............................................................61 事务管理 ...........................................................................................................

    Grails 中文参考手册

    5.3.4 立即加载和延迟加载 5.3.4 悲观锁和乐观锁 5.4 GORM查询 5.4.1 动态查找器 5.4.2 条件查询 5.4.3 Hibernate查询语言 5.5 高级GORM特性 5.5.1 事件和自动实现时间戳 5.5.2 自定义ORM映射 5.5.2.1 表名和列名 ...

    java面试题

    71.7. Hibernate是如何延迟加载? 60 71.8. Hibernate中怎样实现类之间的关系?(如:一对多、多对多的关系) 60 71.9. 说下Hibernate的缓存机制 60 71.10. Hibernate的查询方式 60 71.11. 如何优化Hibernate? 61 71.12...

Global site tag (gtag.js) - Google Analytics