没有合适的资源?快使用搜索试试~ 我知道了~
从头到脚跟你解释什么是Hibernate - renco的专栏
需积分: 3 5 下载量 157 浏览量
2009-04-10
14:58:40
上传
评论
收藏 31KB DOC 举报
温馨提示
试读
3页
从头到脚跟你解释什么是Hibernate - renco的专栏 从头到脚跟你解释什么是Hibernate - renco的专栏 从头到脚跟你解释什么是Hibernate - renco的专栏从头到脚跟你解释什么是Hibernate - renco的专栏 从头到脚跟你解释什么是Hibernate - renco的专栏
资源详情
资源评论
资源推荐
从头到脚跟你解释什么是
Hibernate
Hibernate
Hibernate 是一个免费的开源 Java 包,它使得与关系数据库打交道变得十分轻松,就像
您的数据库中包含每天使用的普通 Java 对象一样,同时不必考虑如何把它们从神秘的数据库表
中取出(或放回到数据库表中)。它解放了您,使您可以专注于应用程序的对象和功能,而不
必担心如何保存它们或稍后如何找到它们。
大多数应用程序都需要处理数据。Java 应用程序运行时,往往把数据封装为相互连接的对
象网络,但是当程序结束时,这些对象就会消失在一团逻辑中,所以需要有一些保存它们的方
法。有时候,甚至在编写应用程序之前,数据就已经存在了,所以需要有读入它们和将其表示
为对象的方法。手动编写代码来执行这些任务不仅单调乏味、易于出错,而且会占用整个应用
程序的很大一部分开发工作量。
优秀的面向对象开发人员厌倦了这种重复性的劳动,他们开始采用通常的“积极”偷懒做法,
即,创建工具,使整个过程自动化。对于关系数据库来说,这种努力的最大成果就是 对象/关系
映射(ORM)工具。
这类工具有很多,从昂贵的商业产品到内置于 J2EE 中的 EJB 标准。然而,在很多情况下,
这些工具具有自身的复杂性,使得开发人员必须学习使用它们的详细规则,并修改组成应用程
序的类以满足映射系统的需要。由于这些工具为应付更加严格和复杂的企业需求而不断发展,
于是在比较简单和常见的场景中,使用它们所面临的复杂性反而盖过了所能获得的好处。这引
起了一场革命,促进了轻量级解决方案的出现,而 Hibernate 就是这样的一个例子。
Hibernate 的工作方式
Hibernate 不会对您造成妨碍,也不会强迫您修改对象的行为方式。它们不需要实现任何
不可思议的接口以便能够持续存在。惟一需要做的就是创建一份 XML“映射文档”,告诉
Hibernate 您希望能够保存在数据库中的类,以及它们如何关联到该数据库中的表和列,然后
就可以要求它以对象的形式获取数据,或者把对象保存为数据。与其他解决方案相比,它几乎
已经很完美了。
由于本文只是一篇介绍性的文章,所以不会引入构建和使用 Hibernate 映射文档的具体例
子(我在《Hibernate: A Developer's Notebook》一书的头几章中已经介绍了一个例子)。
此外,在网上和 Hibernate 的在线文档中,还可以找到一些不错的例子,请参见下面的“其他
信息”部分。它实际上相当直观。应用程序对象中的属性以一种简单而自然的方式与正确的数据
库结构相关联。
运行时,Hibernate 读取映射文档,然后动态构建 Java 类,以便管理数据库与 Java 之间
的转换。在 Hibernate 中有一个简单而直观的 API,用于对数据库所表示的对象执行查询。要
修改这些对象,(一般情况下)只需在程序中与它们进行交互,然后告诉 Hibernate 保存修改
即可。类似地,创建新对象也很简单;只需以常规方式创建它们,然后告诉 Hibernate 有关它
们的信息,这样就能在数据库中保存它们。
Hibernate API 学习起来很简单,而且它与程序流的交互相当自然。在适当的位置调用它 ,
就可以达成目的。它带来了很多自动化和代码节省方面的好处,所以花一点时间学习它是值得
的。而且还可以获得另一个好处,即代码不用关心要使用的数据库种类(否则的话甚至必须知
道)。我所在的公司就曾有过在开发过程后期被迫更换数据库厂商的经历。这会造成巨大的灾
难,但是借助于 Hibernate,只需要简单地修改 Hibernate 配置文件即可。
这里的讨论假定您已经通过创建 Hibernate 映射文档,建立了一个关系数据库,并且拥有
要映射的 Java 类。有一个 Hibernate“工具集”可在编译时使用,以支持不同的工作流。例如,
如果您已经拥有 Java 类和映射文档,Hibernate 可以为您创建(或更新)必需的数据库表。
稻草人_xia
- 粉丝: 8
- 资源: 30
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0