數據庫技術已經成為企業信息平臺的核心。應用程序必須將業務相關的數據通過一定方式持久化到數據庫,還應能夠從數據庫獲取已有的數據,以適當的形式提供給客戶或支撐系統的運行。
關鍵點:如何高效地存取數據、簡化編程模型、降低應用的復雜度
在系統中引入持久層,負責所有相關數據的持久化操作,可以為整個應用系統提供一個高層、統一、安全、并發的數據持久機制。
1、對象持久化技術
1-1、Java 對象序列化
序列化是 Java 語言中內置的輕量級數據持久化機制,該機制可以將任何實現了 java.io.Serializable 接口的對象轉化為連續的字節流數據,保存在文件中,或者通過網絡進行傳輸。這些數據日后可被還原為原先的對象狀態。
缺點:局限性大,查詢只能返回數據流的下一個對象,不提供部分的讀取和更新,不提供對象的生命周期管理,只是簡單的讀取和寫入,不提供并發和事務特性。
1-2、使用 JDBC
JDBC(Java Database Connectivity)是用來訪問關系數據庫系統的標準 Java API。JDBC 只是提供訪問數據的接口,其底層實現有特定的數據庫廠商實現。
缺點:直接使用 JDBC 實現持久化時,SQL 語句和應用代碼混雜在一起,邏輯混亂。另外直接使用 SQL 操作數據庫,不是面向對象。
1-3、使用 JDO
Java 數據對象(Java Data Object)是 JCP(Java Community Process)發布的一個規范,是 Java 對象持久化的標準。JDO 僅定義了標準的編程接口,而把關系映射的定義留給軟件供應商實現。
1-4、實體 EJB
實體 EJB(Enterpise Java Bean)是 Java 領域的數據持久化標準。
1-5、對象關系映射
對象關系映射(Ojbect Relation Mapping)在對象模型和關系模型之間建立溝通的橋梁。ORM 技術封裝了數據持久化的操作細節,為應用程序提供了一只訪問的接口,使應用程序可以專注于業務邏輯的處理。它采用 POJO(Plain Old Java Object,簡單的傳統對象)作為域對象的表述,不涉及域對象之外的技術細節,降低的 ORM 技術的侵入性,實現簡單,便于測試,具備高擴展性。
2、對象關系映射模型
一個完整的對象關系映射框架,應具備以下四個方面:
①、一個元數據映射規范,負責持久化類、類屬性的數據庫表、字段的映射,實現對象和關系的語義連接。
②、一組對象操作接口,用于完成數據的增加、刪除、修改和更新等操作。
③、一種面向對象的查詢語言,該語言能理解繼承、多態和關聯等面向對象特性,實現基于對象的查詢并在對象之間導航。
④、一系列與數據庫現關的技術實現和最佳實踐,保證系統的完整性并提高系統的可用性和擴展性。比如:事務、緩存和數據抓取策略等。
對象模型(類、屬性、關聯) <==> 關系模型(表、字段、約束)
ps. <Hibernate 完全手冊>
ISBN 978-7-111-23764-8
機械工業出版社
侯志松 余周 鄭煥 等編著
posted on 2009-04-10 09:50
黃小二 閱讀(373)
評論(0) 編輯 收藏 所屬分類:
S/S2SH 、
J2EE 、
J2SE