從數據庫中取得持久化對象是Hibernate中最有趣的一項工作。針對這種需求,Hibernate提供了以下幾種方法:
1)通過已經取得持久化對象,使用它們的getter方法。Hibernate會自動的裝載對象圖的節點,當前前提是Session還未被關閉。
2)通過標識符取得。
3)通過HQL。
4)使用Criteria API。
5)使用SQL。
在你的Hibernate應用程序中,你將會混合使用這些技術。每種方法都使用了一種不同的策略--也就是定義了持久對象的哪個部分會被取得。其目的就是找到一種最佳的方式以減少SQL的使用次數以求最佳的性能。
在這部分我們不會討論每次取得對象方法的細節;我們關注的是基本的取得策略以及如果調整Hibernate映射文件以取得最佳性能。在我們來看這些方法之前,我們先總體的來看一下這些方法。
我們從最簡單的例子開始,通過它的標識符取得對象。在之前你也見過這種方式,但是這裏展示的是更多的細節。