`
lsk
  • 浏览: 112605 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

解决ajax中hibernate的lazy问题

    博客分类:
  • Java
阅读更多
最近在项目中使用ajax调用service的方法得到需要的po对象.由于对象于对象之间是一对多的关系.在one方hbm的配置文件中定义了一个list集合.用来表示它所关联的所有从对象.并且lazy="true"的.结果在页面调用的时候出现了session关闭的异常. 我在action和页面中的session生命周期也是利用spring的OpenSessionInView的模式.在web.xml中是通过*.do来拦截请求.
但是ajax的方法并没有被拦截到.
<bean name="openSessionInViewInterceptor"
		class="org.springframework.orm.hibernate3.support.OpenSessionInViewInterceptor">
		<property name="sessionFactory">
			<ref bean="sessionFactory" />
		</property>
		<property name="singleSession">
			<value>true</value>
		</property>
		<property name="flushModeName">
			<value>FLUSH_AUTO</value>
		</property>
	</bean>
<filter>
        <filter-name>hibernateFilter</filter-name>
        <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
    </filter>
<filter-mapping>
        <filter-name>hibernateFilter</filter-name>
        <url-pattern>*.do</url-pattern>
    </filter-mapping>

但是ajax的方法并没有被拦截?
解决这个问题可以利用DTO.如果觉得DTO麻烦.可以在日志中拦截一下dwr请求的url.因为ajax调用服务器的通讯渠道是XHR.在FireFox装一个FindBugs.可以看到ajax发送请求的url地址.简单加入下面这样一段代码可以将所有的ajax请求都拦截到.
<filter-mapping>
        <filter-name>hibernateFilter</filter-name>
        <url-pattern>*.dwr</url-pattern>
    </filter-mapping>

分享到:
评论

相关推荐

    Hibernate说明文档.rar_ajax_hibernate

    **Hibernate 框架详解** Hibernate 是一个强大的Java对象关系映射(ORM)框架,它为开发者提供了在Java应用程序中管理关系数据库的强大工具。...通过不断学习和实践,开发者能够更好地运用Hibernate解决实际问题。

    当设置lazy=true时,怎样使用extjs和Hibernate

    当我们设置Hibernate中的实体属性`lazy=true`时,这是懒加载(Lazy Loading)机制的体现。懒加载是一种优化策略,它允许我们在需要时才加载关联的对象,而不是在初始加载实体时就加载所有关联数据,从而提高性能。 ...

    ajax+hib

    **Ajax(Asynchronous JavaScript and XML)与Hibernate的组合** Ajax技术是Web开发中的一种核心技术,它使得网页可以异步地与...在实际项目中,还需要考虑跨域问题、安全性、SEO优化等因素,以实现更完善的解决方案。

    struts、spring、hibernate、ajax、JQuery原理讲解.doc

    Struts、Spring、Hibernate、Ajax、JQuery原理讲解 Struts2框架的工作原理可以分为以下几个步骤: 1. 客户端发出一个指向servlet容器的请求(tomcat)。 2. 这个请求会经过图中的几个过滤器,最后会到达...

    struts+hibernate登陆注册实例

    Struts2 和 Hibernate 是两种非常流行的 Java 开发框架,它们在构建Web应用程序中扮演着重要角色。本实例结合这两种技术,实现了一个学生和管理员的登录注册功能,这为我们提供了理解这两种框架协同工作的一个实际...

    webwork+spring+hibernate整合开发网络书城 第二讲

    在本课程"WebWork+Spring+Hibernate整合开发网络书城 第二讲"中,我们将深入探讨如何将这三大主流的Java技术框架集成到一个实际的网络...这不仅会提升你的技术能力,也会为你在实际工作中解决类似问题打下坚实基础。

    ajax开发的java留言程序

    在Java编程环境中,Ajax常用于创建动态、交互性强的Web应用程序,比如本例中的“留言程序”。 Java留言程序的设计通常涉及到以下几个关键知识点: 1. **前端技术**: - HTML:构建页面结构。 - CSS:美化页面...

    Spring3+hibernate3+struts2

    在IT行业中,SSH(Spring、Struts2、Hibernate)是一个非常经典的Java Web开发框架组合,被誉为"Spring3+Hibernate3+Struts2"。这个组合是企业级应用开发的常用选择,因为它提供了全面的控制反转(IoC)和面向切面...

    框架笔试-tang.docx

    7. hibernate 中的 lazy 是如何实现的? Hibernate 的 Lazy LOAD 机制是一种延迟加载技术,用于优化数据库查询性能。 Lazy LOAD 机制的实现基于以下几个步骤: * 通过 Hibernate 的映射文件(.hbm.xml)定义 Lazy...

    JAVAWEB开发三大框架整理归纳.pdf

    JavaWeb开发三大框架是指Struts、Hibernate和Spring三个框架,它们是JavaWeb开发中最常用的三个框架。下面是对这三个框架的详细介绍和比较: 一、Struts框架 Struts框架是Apache软件基金会下的一个开源框架,由于...

    北大青鸟Y2英文单词汇总

    6. List、Set、Bag:在Hibernate中,这些是集合类型的映射,分别对应Java中的ArrayList、HashSet和LinkedHashSet,它们用于存储关联的对象。 7. Cascade:级联操作,当对一个实体进行操作(如删除)时,该操作会自动...

    SSH 面试题

    在**Struts+Hibernate+Spring**架构中,Hibernate主要承担数据持久层的角色,用于实现对象与数据库表之间的映射,从而实现对象持久化。 #### 11. 什么是Hibernate的抓取策略 Hibernate的抓取策略(Fetching ...

    Blog网站特效类

    在博客系统中,Hibernate可以帮助我们轻松管理文章、用户、评论等数据实体,实现CRUD(创建、读取、更新、删除)操作。通过配置Hibernate的XML映射文件或使用注解,我们可以将数据库表与Java类对应起来,极大地简化...

    东南融通面试题 内部

    2. **Hibernate中n+1查询问题的解决办法:** - 采用Fetch策略优化关联查询,例如使用EAGER加载。 - 使用HQL或者Native SQL进行批量查询。 3. **Hibernate的最佳实践:** - 合理设置缓存策略,减少不必要的数据库...

    NHibernte+ASP。NETMVC+JQuery实现增删改查[参照].pdf

    在XML映射文件中,`&lt;hibernate-mapping&gt;`标签指定了NHibernate的版本信息,`&lt;class&gt;`标签定义了类名和对应的数据库表,`lazy`属性控制是否启用懒加载。`&lt;id&gt;`标签用于指定主键,包括字段名、列名和类型,以及生成...

    javaSSH框架搭建配置

    这三个框架各自解决不同的问题:Spring主要负责业务逻辑层的管理与控制;Struts则侧重于MVC模式中的控制器部分,用于处理用户的请求;而Hibernate则是对象关系映射工具,用来简化数据库操作。本文将详细介绍如何在...

    dojotree

    总的来说,dojotree是Dojo框架中的一个强大工具,它在J2EE架构下提供了功能丰富的拖放树形菜单解决方案。通过灵活的数据绑定和丰富的API,开发者可以轻松地集成到现有的Web应用中,提高用户的交互性和操作性。无论是...

    百度面试题

    【百度面试题】中的知识点涵盖了Java开发中的多个关键领域,包括Spring框架、Hibernate持久化、事务管理、前端AJAX、消息队列MQ、并发控制、Web会话管理以及软件设计模式。以下是对这些知识点的详细解释: 1. **...

    SSM框架面试题.pdf

    66. **描述SSM整合中的常见问题和解决方法** - 常见问题包括但不限于类加载问题、事务管理问题、性能瓶颈等。解决这些问题通常需要仔细检查配置和代码,并可能需要引入额外的工具或库来优化性能。 以上是对SSM框架...

Global site tag (gtag.js) - Google Analytics