麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

實用教程:使用Hibernate處理數據

2019-11-18 12:56:02
字體:
來源:轉載
供稿:網友

  對象-關系映射(O/R映射)是許多軟件開發項目的常見需求。數據持久化過程中所涉及到的活動是非常乏味且易于出錯的。假如考慮到不可避免的需求變化,我們就面臨很大的麻煩:數據存儲結構必須與源代碼保持同步。再加上移植性問題,事情就變得非常復雜。

  而Hibernate可以幫助我們輕松地在永久性存儲介質中保存數據,而不需要在選擇存儲、安裝或配置類型方面浪費太多精力。Hibernate答應我們存儲任何類型的對象,因此,應用程序不需要知道其數據將使用Hibernate進行持久化。當然,這里提到的任何事情都可以逆向應用:現在從存儲器獲取已經預備好的對象是很平常的事情。更新和刪除數據也是如此。

開始之前

  在開始之前,您需要Hibernate的發行版,可以在Hibernate web站點(www.hibernate.org)上找到它。我們將使用2.0.3版本。對于數據庫,我們將使用Hypersonic SQL 1.7.1版本,它可以在hsqldb.sourceforge.net上找到。 Hibernate還支持許多開源或商業數據庫,例如MySQL、PostgreSQL、Oracle、DB2等。對于受支持的任何數據庫,安裝這個教程都很簡單。完整列表參見官方文檔。

  注重:假如您不希望類被持久化在數據庫中(比如說,您只希望進行串行化),那么Hibernate API為您提供了net.sf.hibernate.persister.EntityPersister類和net.sf.hibernate.persister.ClassPersister接口。通過編寫子類或實現它們,您可以編寫自己的持久化類,并根據需要使用它們。

   下載了所有必需的安裝包后,我們必須設置測試環境。基本上,我們所需做的就是把下載的.jar文件放到CLASSPATH中。這包括Hibernate發行版中的hibernate2.jar和Hypersonic的lib/ 目錄下的hsqldb.jar。Hibernate還需要其他的幾個庫,這些庫都可以在<hibernate-dist>/lib目錄中找到。并不是該目錄下的所有.jars文件都需要,但是假如您使用所有文件,也沒有什么壞處。在我們開始研究Hibernate之前,我們將首先定義我們的問題域。

   注重:Hibernate使用Apache的commons-logging。它是一個智能工具,假如找到log4j,它就會默認地使用它。Log4j是一個出色的日志記錄庫,我們將在這個教程中使用它。假如您還沒有這個軟件(您真的應該安裝這個軟件!),可以從Log4j homepage下載,并將它添加到CLASSPATH中。使用Hibernate團隊所提供的示例log4j.PRoperties,它可以在<hibernate-dist>/src目錄下找到。

問題引入

  每個開發人員都至少執行過一次類似的任務:創建一個訂單,把一些產品放在其中,它就變成訂單項,然后保存該訂單。
我們使用這些簡單的SQL命令來設置數據庫:
CREATE TABLE ORDERS(
        ID VARCHAR NOT NULL PRIMARY KEY,
        ORDER_DATE TIMESTAMP NOT NULL,
        PRICE_TOTAL DOUBLE NOT NULL)

CREATE TABLE PRODUCTS(
        ID VARCHAR NOT NULL PRIMARY KEY,
        NAME VARCHAR NOT NULL,
        PRICE DOUBLE NOT NULL,
        AMOUNT INTEGER NOT NULL)

CREATE TABLE ORDER_ITEMS(
        ID VARCHAR NOT NULL PRIMARY KEY,
        ORDER_ID VARCHAR NOT NULL,
        PRODUCT_ID VARCHAR NOT NULL,
        AMOUNT INTEGER NOT NULL,
        PRICE DOUBLE NOT NULL)

  這個數據模型非常簡單。對于一個實際的“生產質量”數據模型,我們會需要外鍵、索引、額外的字段等等。對于本教程,上面的數據模型就可以了。

   注重:假如您決定為這個教程使用HypersonicSQL,那么可以使用本文附件源軟件包中提供的orders.script和orders.properties文件。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 素人视频在线观看免费 | 日本高清电影在线播放 | av7777777 | 成人一级免费 | 欧洲成人av | 免费毛片在线视频 | 在线成人一区二区 | 欧美性生交大片 | 中文字幕免费播放 | 亚洲少妇诱惑 | 久久久中精品2020中文 | 国产成年人视频 | 亚洲综合网站 | 欧美色淫 | 深夜福利视频免费观看 | 国产精品成人av片免费看最爱 | 久久免费视频一区 | 国产91丝袜在线播放 | 中国老女人一级毛片视频 | 中国老女人一级毛片视频 | 国产一区二区三区在线观看视频 | 黄色大片高清 | 草久影院 | 精品久久久久久国产三级 | 成人国产综合 | 日本网站在线看 | 久久久久久久久淑女av国产精品 | 成人午夜a | 国产视频导航 | 欧美aⅴ在线观看 | 亚洲网在线观看 | 免费网站看v片在线a | 国产免费一区二区三区最新不卡 | 国产精品欧美久久久久一区二区 | 黑人操穴 | 伊人在线视频 | 久久久久久久久久91 | 欧美视频一区二区三区在线观看 | 视频一区二区在线播放 | 99久久精品免费 | 欧美女同hd|