- 译者序
- 前言
- 本书怎么使用
- 本书排版字体约定
- 本书网站
- 致谢
- 第一部分 Hibernate 快速入门
- 第 1 章 安装和设置
- 第 2 章 映射简介
- 第 3 章 驾驭 Hibernate
- 第 4 章 集合与关联
- 第 5 章 更复杂的关联
- 第 6 章 自定义值类型
- 第 7 章 映射标注
- 第 8 章 条件查询
- 第 9 章 浅谈 HQL
- 第二部分 与其他工具的集成
- 第 10 章 将 Hibernate 连接到 MySQL
- 第 11 章 Hibernate 与 Eclipse:Hibernate Tools 使用实战
- 第 12 章 Maven 进阶
- 第 13 章 Spring 入门:Hibernate 与 Spring
- 第 14 章 画龙点睛:用 Stripes 集成 Spring 和 Hibernate
- 附录 A Hibernate 类型
- 附录 B Criteria API
- 附录 C Hibernate SQL 方言
- 附录 D Spring 事务支持
- 附录 E 参考资源
- 作者简介
- 封面介绍
第 2 章 映射简介
我们已经开始使用 Hibernate 了。不过现在,我们要先停下向前迈进的脚步,站在一定高度观察一下 Hibernate 的全貌,以免迷失在 Hibernate 安装和配置的繁文缛节之中,这是非常必要的。像 Java 这样的面向对象语言提供了强大而方便的抽象层,可以在运行时以对象(类的实例)的形式来处理信息。这些对象之间可以通过各种方式链接起来,除了它们本身所拥有的原始数据外,还可以包含规则和行为。但是,当程序运行结束时,所有对象都会消失得无影无踪。
对于那些在程序多次运行之间需要保存下来的信息,或者是需要在不同程序或系统之间共享的信息,实践证明关系数据库是难以击败的最佳解决方案。关系数据库具有高度的可伸缩性、可靠性、高效性以及灵活性。所以,我们需要有一种方式可以把信息从 SQL 数据库中提取出来,再将其转换成 Java 对象,反之亦然。
实现这一功能有许多不同的方法,从完全手工的数据库设计和编码,到高度自动化的工具,都有相应的解决方案。这个普遍性问题就是人们所谓的对象/关系数据库映射(Object/Relational Mapping)问题,而 Hibernate 正是 Java 中一种轻量级的 O/R 映射服务。
所谓“轻量级”(lightweight)是指,和其他一些可用的工具相比,Hibernate 的设计相当易于学习和使用,同时对系统资源的需求也在合理的范围内。虽然如此,Hibernate 还是设法达到了用途广泛而又有技术的深度。Hibernate 的设计者对实际项目中需要完成的工作进行了细致的研究,并对这些工作提供良好的支持。
Hibernate 的使用方法有很多种,这要取决于你开始时着手的对象。如果需要交互的数据库已经存在,则可以用 Hibernate 的一些工具对现有的数据库模式(schema)进行分析,以此作为映射(mapping)的起点,之后,它再帮助你编写一些用于表示那些数据的 Java 类。如果你已经有了 Java 类,并希望把这些类的实例中的数据保存在数据库中,则可以从这些 Java 类开始,用 Hibernate 工具生成相应的映射文件,再生成用于创建数据库表的模式脚本。
在本书中,我们将要带领你从一个全新的项目开始,没有现成的 Java 类或数据库表,让 Hibernate 帮助你生成这些类和数据库表。当像这样从头做起时,最佳的切入点就是二者之间的一个中间点,也就是我们打算在程序对象和存储这些对象的数据表之间使用的映射的抽象定义。附录 E 就如何深入学习 Hibernate 列举了一些建议;如果你愿意使用 Eclipse,第 11 章还得介绍如何在 Eclipse 中使用 Hibernate。
对于那些已经习惯处理 Java 对象,而对抽象模式比较陌生的开发人员来说,他们在熟悉这种方法之前,可能会遇到些小麻烦,或许只是为一个外部的 XML 文件费神而已。第 7 章会演示如何使用 Java 5 的标注,在你的数据模型类中嵌入映射信息。搞清楚基于 XML 的映射是很重要的,所以我们就从它开始学习 Hibernate。
在我们的示例中,我们将处理一个数据库,用它来驱动一个应用程序界面,用户可以保存许多个人音乐收藏数据,还可以方便地进行搜索、浏览和欣赏音乐(第 1 章最后创建了一些数据库文件,从其中的文件名你或许可以猜到这些吧)。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论