使用JDBC的场合,既可以在Java的客户端程序使用,也可以在ServletJSP的Web应用中使用,最具革命意义的是,Hiber
ate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
Hiber
ate的核心接口一共有5个,分别为Sessio
、Sessio
Factory、Tra
sactio
、Query和Co
figuratio
。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五的核心接口分别加以介绍。
Sessio
接口Sessio
接口负责执行被持久化对象的CRUD操作CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。。但需要注意的是Sessio
对象是非线程安全的。同时,Hiber
ate的sessio
不同于JSP应用中的HttpSessio
。这里当使用sessio
这个术语时,其实指的是Hiber
ate中的sessio
,而以后会将HttpSesio
对象称为用户sessio
。
Sessio
Factory接口Sessio
Factroy接口负责初始化Hiber
ate。它充当数据存储源的代理,并负责创建Sessio
对象。这里用到了工厂模式。需要注意的是Sessio
Factory并不是轻量级的,因为一般情况下,一个项目通常只需要一个Sessio
Factory就够,当需要操作多个数据库时,可以为每个数据库指定一个Sessio
Factory。
Co
figuratio
接口Co
figuratio
接口负责配置并启动Hiber
ate,创建Sessio
Factory对象。在Hiber
ate的启动的过程中,Co
figuratio
类的实例首先定位映射文档位置、读取配置,然后创建Sessio
Factory对象。
Tra
sactio
接口Tra
sactio
接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。
fQuery和Criteria接口Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。
214DWR的介绍
DWR采取了一个类似AJAX的新方法来动态生成基于JAVA类的JavaScript代码。这样WEB开发人员就可以在JavaScript里使用Java代码,就像它们是浏览器的本地代码客户端代码一样;但是Java代码运行在WEB服务器端而且可以自由访问WEB服务器的资源。出于安全的理由,WEB开发者必须适当地配置哪些Java类可以安全的被外部使用。
这个从JAVA到JavaScript的远程功能方法给DWR的用户带来非常像传统的RPC机制,就像RMI或者SOAP一样,而且拥有运行在WEB上但是不需要浏览器插件的好处。
DWR不认为浏览器WEB服务器协议是重要的而更乐于保证编程界面的简单自然。对此最大的挑战就是把AJAX的异步特性和正常JAVA方法调用的同步特性相结合。在异步模式下,结果数据在开始调用之后的一段时间之后才可以被异步访问获取到DWR允许WEB开发人r