在向大家詳細介紹使用Hibernate Annotation之前,首先讓大家了解下Hibernate的配置依賴於外部 XML 文件,然後全面介紹使用Hibernate Annotation。
在過去幾年裡,Hibernate不斷發展,幾乎成為Java數據庫持久性的事實標准。它非常強大、靈活,而且具備了優異的性能。在本文中,我們將了解如何使用Java 5 注釋來簡化Hibernate代碼,並使持久層的編碼過程變得更為輕松。
傳統上,Hibernate的配置依賴於外部 XML 文件:數據庫映射被定義為一組 XML 映射文件,並且在啟動時進行加載。創建這些映射有很多方法,可以從已有數據庫模式或Java類模型中自動創建,也可以手工創建。無論如何,您最終將獲得大量的 Hibernate 映射文件。此外,還可以使用工具,通過javadoc樣式的注釋生成映射文件,盡管這樣會給您的構建過程增加一個步驟。
在最近發布的幾個Hibernate版本中,出現了一種基於 Java 5 注釋的更為巧妙的新方法。借助新的 Hibernate Annotation 庫,即可一次性地分配所有舊映射文件——一切都會按照您的想法來定義——注釋直接嵌入到您的 Java 類中,並提供一種強大及靈活的方法來聲明持久性映射。籍由自動代碼完成和語法突出顯示功能,最近發布的Java IDE也為其提供了有力的支持。
Hibernate Annotation還支持新的 EJB 3 持久性規范。這些規范旨在提供一種標准化的 Java 持久性機制。由於 Hibernate 3 還提供了一些擴展,因此您可以十分輕松地遵從這些標准,並使用 EJB 3 編程模型來對 Hibernate 持久層進行編碼。現在,讓我們來動手使用Hibernate Annotation。
要使用Hibernate Annotation,您至少需要具備 Hibernate 3.2和Java 5。可以從 Hibernate 站點 下載 Hibernate 3.2 和 Hibernate Annotation庫。除了標准的 Hibernate JAR 和依賴項之外,您還需要 Hibernate Annotations .jar 文件(hibernate-annotations.jar)、Java 持久性 API (lib/ejb3-persistence.jar)。如果您正在使用 Maven,只需要向 POM 文件添加相應的依賴項即可,如下所示:
...
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>3.2.1.ga</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-annotations</artifactId>
<version>3.2.0.ga</version>
</dependency>
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>persistence-api</artifactId>
<version>1.0</version>
</dependency>
...