zoukankan      html  css  js  c++  java
  • DWR 整合之Hibernate

      1.让 DWR 和 Hibernate 一起工作的检查列表

      1.确保你使用的是最新的 DWR。Hibernate 转换器是新东西,所以你需要下载最新版本
      2.确保你的 Hiberante 在没有 DWR 的时候工作正常。
      3.如果是 Spring 和 Hibernate 一起使用,那么你最好先了解一下如何将整合 Spring。
      4.配置 DWR,使之与 Hibernate 一起工作。 (看下面)。
      5.查看演示页面:http://localhost:8080/YOUR-WEBAPP/dwr,确定 Spring 的 Bean 可以出现。

    2.HibernateBeanConverter

      除了我们可以决定是否要使用 lazy loaded 属性,这个转换器非常类似于标准的 BeanConverter。

      在 DWR1.1 Hibernate 转换器被称为“hibernate”并且作用在 hibernate2, 在 DWR2.x 有 2 .个转换器被称为“hibernate2”并且作用在 hibernate3。

      使用 HibernateBeanConverter 也许有点风险,原因如下:

        •结构:HibernateBeanConverter 不符合 MVC 模式,所以不能把对象在数据曾和表现曾之间进行隔离。这个风险可以通过在上面加上独立的 bean 来减轻。

        •性能: DWR 试图通过相同的序列化方式来转换所有可以得到的属性(除了 DWR 仅仅读 JavaBean 属性的时候)。所以可能会出现通过 HTTP 序列化了你的整个数据的情况。通常这并不是你想要的。要减少这一风险可以使用 BeanConverter(HibernateBeanConverter 衍生于它)的排除某些属性的功能,

      如下所示: 

    <param name="exclude" value="propertyToExclude1, propertyToExclude2"/>

      HibernateBeanConverter 会尝试不去读取没有初始化的属性。如果你只是想读取所有的东西那么应该使用BeanConverter。
      建议使用 Hibernate3,实际上 Hibernate2 的情况,你会发现你得到的都是空的 Bean。

    3.Session 管理

       如果你使用 Hibernate 对象,你需要知道每一个 DWR 请求都是一个新的 Servlet 请求,所以你需要保证为每个请求打开一个 Hiberante 的 Session。

      如果你用 Spring,那么可以很方便的使用 Spring 里面的 OpenSessionInViewFilter,它可以保证为每个请求打开一个 Hiberante 的 Session。类似的解决方案在其它 Framework 中也存在。

    走在一起是缘分,在一起走是幸福; 在一起走是缘分,走在一起是幸福
  • 相关阅读:
    springboot文件上传: 单个文件上传 和 多个文件上传
    Eclipse:很不错的插件-devStyle,将你的eclipse变成idea风格
    springboot项目搭建:结构和入门程序
    POJ 3169 Layout 差分约束系统
    POJ 3723 Conscription 最小生成树
    POJ 3255 Roadblocks 次短路
    UVA 11367 Full Tank? 最短路
    UVA 10269 Adventure of Super Mario 最短路
    UVA 10603 Fill 最短路
    POJ 2431 Expedition 优先队列
  • 原文地址:https://www.cnblogs.com/tarena/p/3683426.html
Copyright © 2011-2022 走看看