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 中也存在。
DWR 整合之Hibernate的更多相关文章
- eclipse环境下基于已构建struts2项目整合spring+hibernate
本文是基于已构建的struts2项目基础上整合 spring+hibernate,若读者还不熟悉struts2项目,请先阅读 eclipse环境下基于tomcat-7.0.82构建struts2项目 ...
- spring整合mybatis(hibernate)配置
一.Spring整合配置Mybatis spring整合mybatis可以不需要mybatis-config.xml配置文件,直接通过spring配置文件一步到位.一般需要具备如下几个基本配置. 1. ...
- JavaWeb_(SSH)三大框架整合struts+hibernate+spring_Demo
三大框架整合 一.SSH导包 二.书写Spring 三.书写Struts 四.整合Spring与Struts 五.书写(与整合)Hibernate.引入c3p0连接池并使用hibernate模板 六. ...
- 整合struts2+hibernate详细配置步骤及注意事项
刚刚学完这两个框架,就迫不及待的做了一个例子,在整合两个框架的时候,也碰到了一些小问题,下面介绍一下配置的步骤: 1.创建一个自定义的struts2和hibernate的类库 因为之前写例子都是直接将 ...
- DWR 整合之Struts2.3.16
DWR 能够和任何框架结合. DWR 和 Struts 整合有 2 个层次.最基础的层次就是同时使用这两个框架,这是非常容易的,但是这样就不允许在 DWR 和 Struts 之间共享 Action 了 ...
- spring整合struts2,hibernate
1.导包 struts2包(不需要导入,之前学习struts2时已经导入) hibernate包(不需要导入,之前学习hibernate时已经导入) Spring包 整合hibernate的没有hib ...
- Spring整合Struts2,Hibernate的xml方式
作为一个学习中的码农,一直学习才是我们的常态,所以最近学习了SSH(Spring,Struts2,Hibernate)整合,数据库用的MySQL. 写了一个简单的例子,用的工具是IntelliJ Id ...
- ssh整合之三hibernate和spring整合
1.拷贝我们的spring事务控制所需的jar包 2.在spring容器中配置我们的hibernateTemplate以及事务管理器 <?xml version="1.0" ...
- jersey2 整合 spring + hibernate + log4j2
整合 spring jersey2 官方还未正式支持 spring4, 但网上有好多支持方案,折腾了一圈后,还是用了 spring3; pom 添加以下依赖配置 <!-- Spring --&g ...
随机推荐
- js第一天 inner html value
<html> <head> <meta charset="utf-8" /> <title></title> <s ...
- APP页面设计
- php:二进制处理
直接上代码 <?php #字符串 #php中字符串就是二进制,不用特别转化 #方法1:直接把字符串当成二进制 $c = "ccc"; var_dump($c, bin2hex ...
- reflow和repaint
Web页面运行在各种各样的浏览器当中,浏览器载入.渲染页面的速度直接影响着用户体验 简单地说,页面渲染就是浏览器将html代码根据CSS定义的规则显示在浏览器窗口中的这个过程.先来大致了解一下浏览器都 ...
- linux配置使用外部smtp发送邮件
mail命令需要设定mail.rc(或nail.rc)文件, set from=user@domain.comset smtp=smtp.domain.comset smtp-auth-user=us ...
- android-support-v7-appcompat
只要把values-v14下的styles.xml修改 用在4.0以上的设备 <!-- Base application theme for API 14+. This theme comple ...
- 标签—box-shadow
box-shadow:2px 3px 4px #CCC; 一个带外阴影的元素,阴影位置x轴偏移2px,y轴偏移3px,模糊范围4px,阴影颜色#CCC box-shadow:inset 0 -4px ...
- jetty作为内嵌服务器自启动
为了完成web工程的测试,最近内嵌jetty也要搞起来.第一次搞还是挺焦头烂额的.直接上成果: package com.test.action; import java.io.File; import ...
- 图像操作相关 With Quartz 2D
本文将为大家介绍常见的IOS图像处理操作包括以下四部分:旋转,缩放,裁剪以及像素和UIImage之间的转化,主要使用的知识是quartz2D.Quartz2D是CoreGraphics框架中的一个重要 ...
- ubuntu下安装nagios
第一步安装apache root@root01-virtual-machine:/etc/apache2/conf-available# vi charset.conf 可修改apache服务器的编码 ...