国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

開源技術:Hibernate 3注釋簡介

2019-11-17 06:04:33
字體:
來源:轉載
供稿:網友

  在過去幾年里,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 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>    ...

  下一步就是獲取 Hibernate 會話工廠。盡管無需驚天的修改,但這一工作與使用 Hibernate Annotations有所不同。您需要使用 AnnotationConfiguration 類來建立會話工廠:

sessionFactory = new
AnnotationConfiguration().buildSessionFactory();

  盡管通常使用 <mapping> 元素來聲明持久性類,您還是需要在 Hibernate 配置文件(通常是 hibernate.cfg.xml)中聲明持久性類:

<!DOCTYPE hibernate-configuration PUBLIC    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">        <hibernate-configuration>          <session-factory>            <mapping class="com.onjava.modelplanes.domain.PlaneType"/>            <mapping class="com.onjava.modelplanes.domain.ModelPlane"/>          </session-factory>        </hibernate-configuration>

  近期的許多 Java 項目都使用了輕量級的應用框架,例如 SPRing。假如您正在使用 Spring 框架,可以使用 AnnotationSessionFactoryBean 類輕松建立一個基于注釋的 Hibernate 會話工廠,如下所示:

<!-- Hibernate session factory -->  <bean id="sessionFactory"         class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">   <property name="dataSource">     <ref bean="dataSource"/>   </property>   <property name="hibernateProperties">     <props>       <prop key="hibernate.dialect">org.hibernate.dialect.DerbyDialect</prop>       <prop key="hibernate.hbm2ddl.auto">create</prop>       ...     </props>   </property>   <property name="annotatedClasses">     <list>       <value>com.onjava.modelplanes.domain.PlaneType</value>       <value>com.onjava.modelplanes.domain.ModelPlane</value>       ...     </list>   </property> </bean>

第一個持久性類



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 柘城县| 陆良县| 万全县| 南昌市| 永靖县| 罗源县| 深圳市| 尼玛县| 海伦市| 阿城市| 灵石县| 修水县| 嘉定区| 曲周县| 察哈| 余庆县| 民县| 平乡县| 奉节县| 海宁市| 库伦旗| 万宁市| 吴桥县| 三台县| 和林格尔县| 上栗县| 宜昌市| 临夏县| 渭源县| 普安县| 西峡县| 平邑县| 宝坻区| 尼木县| 扶绥县| 大宁县| 石家庄市| 莱芜市| 射阳县| 大宁县| 横山县|