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 ...
随机推荐
- 使用AOP 使C#代码更清晰
简介 如果你很熟悉面向方面编程(AOP),你就会知道给代码增加"切面"可以使代码更清晰并且具有可维护性.但是AOP通常都依赖于第三方类库或者硬编码的.net特性来工作.虽然这些实现 ...
- LeetCode OJ 101. Symmetric Tree
Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). For e ...
- LeetCode OJ 110. Balanced Binary Tree
Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary ...
- SharePoint 2013 APP 开发示例 (二)获取用户信息
SharePoint 2013 APP 开发示例 (二)获取用户信息 这个示例里,我们将演示如何获取用户信息: 1. 打开 Visual Studio 2012. 2. 创建一个新的 SharePo ...
- parseSdkContent failed 解决方案
开Eclipse出现错误“parseSdkContent failed”,Android的模拟器启动不了.尝试了不少方法,终于搞定. 1.删除文件夹 C:\Documents and Settings ...
- read file in a single line
String text= new Scanner(File('input.txt')).useDelimiter("\\A").next(); java version!
- 当list做gridview的数据源时,可以用泛型来对list进行排序
当list做gridview的数据源时,可以用泛型来对list进行排序 ,代码如下 var temps = from t in list orderby t.paymentAmount descend ...
- C#判断文字是否为汉字
/// <summary> /// 检测一个字符串是不是以汉字开始 /// </summary> /// <param name="str">要 ...
- mysql主从数据库
Mysql主从配置,实现读写分离 大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库 ...
- Hibernate 系列教程3-单表操作
工程截图 hibernate.cfg.xml <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Conf ...