从数据库中取得持久化对象是Hibernate中最有趣的一项工作。针对这种需求,Hibernate提供了以下几种方法:
1)通过已经取得持久化对象,使用它们的getter方法。Hibernate会自动的装载对象图的节点,当前前提是Session还未被关闭。
2)通过标识符取得。
3)通过HQL。
4)使用Criteria API。
5)使用SQL。
在你的Hibernate应用程序中,你将会混合使用这些技术。每种方法都使用了一种不同的策略--也就是定义了持久对象的哪个部分会被取得。其目的就是找到一种最佳的方式以减少SQL的使用次数以求最佳的性能。
在这部分我们不会讨论每次取得对象方法的细节;我们关注的是基本的取得策略以及如果调整Hibernate映射文件以取得最佳性能。在我们来看这些方法之前,我们先总体的来看一下这些方法。
我们从最简单的例子开始,通过它的标识符取得对象。在之前你也见过这种方式,但是这里展示的是更多的细节。