当前位置: 首页 > 图文教程 > Java技术 > Web框架 > Web框架:Hibernate中五个接口那些事

Web框架
Struts开发过程中的异常处理机制
ServletContext与ServletConfig分析
使用Ajax的挑战
Web程序从Struts向Stripes框架的移植
Shale不是Struts
Web框架:基于Ajax的应用程序架构汇总
Web框架:使用Ajax技术开发Web应用程序
Web框架:简单理解Hibernate三种状态的概念及互相转化
Web框架:浅谈Struts2中拦截器应用
Web框架:Struts2中的Action
Web框架:Struts2高级文件上传
Web框架:小编谈嵌入XFire服务介绍及实现
Web框架:DWR中signatures标签的使用
WEB框架:小编总结Struts2的经典输入校验
WEB框架:小编祥谈Struts2的数据标签中Action与Bean标签的使用
Web框架:小议struts2类型转换
Web框架:小编浅谈Struts2的pub-sub事件模型
Web框架:小编简述JSF
Web框架:Hibernate事务管理
Web框架:Struts高级特性(StrutsAdvancedFeature)验证

Web框架:Hibernate中五个接口那些事


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 184 ::
收藏到网摘: n/a

以下五个接口都是hibernate中最常见最容易用到的接口,可以存储与取出持续对象或者对事务进行控制。

Session接口

Session(会话)接口是Hibernate应用使用的主要接口。会话接口的实例是轻量级的并

且创建与销毁的代价也不昂贵。这很重要因为你的应用可能始终在创建与销毁会话,可能每一次请求都会如此。Hibernate会话并不是线程安全的因此应该被设计为每次只能在一个线程

中使用。

Hibernate会话是一个介于连接和事务之间的概念。你可以简单地认为会话是对于一个单

独的工作单元已装载对象的缓存或集合。Hibernate可以检测到这个工作单元中对象的改变。

我们有时也将会话称为持续性管理器,因为它也是与持续性有关的操作例如存储和取出对象

的接口。

SessionFactory接口

应用从SessionFactory(会话工厂)里获得会话实例。与会话接口相比,这个对象不够

令人兴奋。

会话工厂当然不是轻量级的!它打算在多个应用线程间进行共享。典型地,整个应用只

有唯一的一个会话工厂——例如在应用初始化时被创建。然而,如果你的应用使用Hibernate

访问多个数据库,你需要对每一个数据库使用一个会话工厂。

会话工厂缓存了生成的SQL语句和Hibernate在运行时使用的映射元数据。它也保存了在

一个工作单元中读入的数据并且可能在以后的工作单元中被重用(只有类和集合映射指定了

这种二级缓存是想要的时才会如此)。

Configuration接口

Configuration(配置)对象用来配置和引导Hibernate。应用使用一个配置实例来指定

映射文件的位置和Hibernate的特定属性,然后创建会话工厂。

即使配置接口只担当了整个Hibernate应用范围内一个相对较小的部分,但它却是在你开

始使用Hibernate时遇到的第一个对象。

Transaction接口

Transaction(事务)接口是一个可选的APIHibernate应用可以选择不使用这个接口,

而是在它们自己的底层代码中管理事务。事务将应用代码从下层的事务实现中抽象出来——

这可能是一个JDBC事务,一个JTA用户事务或者甚至是一个公共对象请求代理结构(CORBA

——允许应用通过一组一致的API控制事务边界。这有助于保持Hibernate应用在不同类型的

执行环境或容器中的可移植性。

QueryCriteria接口

Query(查询)接口允许你在数据库上执行查询并控制查询如何执行。查询使用HQL或者

本地数据库的SQL方言编写。查询实例用来绑定查询参数,限定查询返回的结果数,并且最终

执行查询。

Criteria(标准)接口非常小,它允许你创建和执行面向对象的标准查询。

为了帮助应用代码减少冗余,Hibernate在会话接口上提供了一些快捷方法,允许你可以

在一行代码内调用一个查询。在本书中我们不使用这些快捷方法,相反,我们会一直使用查

询接口。