成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

教你如何更簡單的理解Hibernate框架

開發 后端
數據庫的讀寫是一個很耗費時間和資源的操作,當大量用戶同時直接訪問數據庫的時候,效率將非常低,如果將數據持久化就不需要每次從數據庫讀取數據。

本文主要介紹Hibernate框架的歷史與背景、Hibernate定義、Hibernate的作用、Hibernate的應用、Hibernate API簡介以及Hibernate的優缺點。

一 歷史與背景

1 應用程序的分層體系結構

隨著計算機應用軟件的發展,應用程序逐漸由單層體系結構發展為多層體系結構。其中,三層結構是目前典型的一種應用軟件結構。

◆表述層:提供與用戶交互的界面,如GUI(圖形用戶界面),web頁面等;

◆業務邏輯層:負責各種業務邏輯,直接訪問數據庫,提供對業務數據的保存、更新、刪除和查詢操作;

◆數據庫層:負責存放管理應用的持久性業務數據

三層結構的特點是:所有下層向上層提供調用的接口,具體實現細節對上層透明。層與層之間存在自上而下的依賴關系,即上層會訪問下層的API,但下層不依賴于上層。

2   持久化層

(1)什么叫持久化?

分離出的持久化層封裝了數據訪問細節,為業務邏輯層提供了面向對象的API。持久(Persistence),即把數據(如內存中的對象)保存到可永久保存的存儲設備中(如磁盤)。持久化的主要應用是將內存中的數據存儲在關系型的數據庫中,當然也可以存儲在磁盤文件中、XML數據文件中等等。

(2)什么叫持久層?

持久層(Persistence Layer),即專注于實現數據持久化應用領域的某個特定系統的一個邏輯層面,將數據使用者和數據實體相關聯。

(3)為什么要持久化?增加持久層的作用是什么?

數據庫的讀寫是一個很耗費時間和資源的操作,當大量用戶同時直接訪問數據庫的時候,效率將非常低,如果將數據持久化就不需要每次從數據庫讀取數據,直接在內存中對數據進行操作,這樣就節約了數據庫資源,而且加快了系統的反映速度。

增加持久化層提高了開發的效率,使軟件的體系結構更加清晰,在代碼編寫和系統維護方面變得更容易。特別是在大型的應用里邊,會更有利。同時,持久化層作為單獨的一層,人們可以為這一層獨立的開發一個軟件包,讓其實現將各種應用數據的持久化,并為上層提供服務。從而使得各個企業里做應用開發的開發人員,不必再來做數據持久化的底層實現工作,而是可以直接調用持久化層提供的API。

(4)目前在持久化層領域,實現模式有以下幾種:

A 業務邏輯和數據訪問耦合

B 主動域對象模式

C ORM模式

D JDO模式

E CMP模式

3 ORM介紹

ORM(Object Relational Mapping),即對象關系映射。

指以O/R原理設計的持久化框架(Framework),包括 O/R機制、SQL自生成、事務處理和Cache管理等。

ORM的實現思想就是將關系數據庫中表的數據映射成為對象,以對象的形式展現,這樣開發人員就可以把對數據庫的操作轉化為對這些對象的操作。因此它的目的是為了方便開發人員以面向對象的思想來實現對數據庫的操作。

常用的ORM中間件有:

Apache OJB (http://db.apache.org/ojb/)

Cayenne (http://objectstyle.org/cayenne/)

Jaxor (http://jaxor.sourceforge.net)

Hibernate (http://www.hibernate.org)

iBatis (http://www.ibatis.com)

jRelationalFramework (http://ijf.sourceforge.net)

mirage (http://itor.cq2.org/en/oss/mirage/toon)

SMYLE (http://www.drjava.de/smyle)

TopLink (http://otn.oracle.com/products/ias/toplink/index.html)

其中 Hibernate 的輕量級 ORM 模型逐步確立了在 Java ORM 架構中領導地位,甚至取代復雜而又繁瑣的 EJB 模型而成為事實上的 Java ORM 工業標準。而且其中的許多設計均被 J2EE 標準組織吸納而成為最新 EJB 3.0 規范的標準。

二 Hibernate定義

Hibernate是一種Java語言下的對象關系映射解決方案。 它是一種自由、開源的軟件。它用來把對象模型表示的對象映射到基于SQL 的關系模型結構中去,為面向對象的領域模型到傳統的關系型數據庫的映射,提供了一個使用方便的框架。

三 Hibernate的作用

Hibernate 不僅管理Java 類到數據庫表的映射(包括從Java數據類型到SQL數據類型的映射),還提供數據查詢和獲取數據的方法,可以大幅度減少開發時人工使用SQL 和JDBC 處理數據的時間。

它的設計目標是將軟件開發人員從大量相同的數據持久層相關編程工作中解放出來。無論是從設計草案還是從一個遺留數據庫開始,開發人員都可以采用Hibernate。

四 Hibernate的應用

Hibernate對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。 Hibernate可以應用在任何使用JDBC的場合,它既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應用中使用。最具革命意義的是,Hibernate可以在應用EJB(Enterprise JavaBeans是Java應用于企業計算的框架)的J2EE架構中取代CMP,完成數據持久化的重任。

五 Hibernate API簡介

1 Hibernate API中的接口可以分為以下幾類:

(1) 提供訪問數據庫的操作的接口,包括session、Transaction、Query接口;

(2) 用于配置Hibernate的接口,Configuration;

(3) 間接接口,使應用程序接受Hibernate內部發生的事件,并作出相關的回應,包括:Interceptor、Lifecycle、Validatable;

(4) 用于擴展Hibernate功能的接口,如UserType、CompositeUserType、IdentifierGenerator接口。

Hibernate內部還封裝了JDBC、JTA(Java Transaction API)和JNDI(Java Naming And Directory Interface)。其中,JDBC提供底層的數據訪問操作,只要用戶提供了相應的JDBC驅動程序,Hibernate可以訪問任何一個數據庫系統。JTA和JNDI使Hibernate能夠和J2EE應用服務器集成。

2       Hibernate的核心接口框圖

六   Hibernate的優缺點

(1)優點:
    a.Hibernate 使用 Java 反射機制 而不是字節碼增強程序來實現透明性。
    b.Hibernate 的性能非常好,因為它是個輕量級框架。映射的靈活性很出色。
    c. 它支持各種關系數據庫,從一對一到多對多的各種復雜關系。

(2)缺點:

    Hibernate限制您所使用的對象模型。例如,一個持久性類不能映射到多個表。

【編輯推薦】

  1. 生成Hibernate Mapping文件的分析
  2. 對Hibernate中get()與load()不同點分析
  3. Struts-Spring-Hibernate案例
  4. 簡述Hibernate配置連接池
  5. 對Hibernate中get()與load()不同點分析
責任編輯:仲衡 來源: baidu
相關推薦

2021-09-27 06:29:01

Redis淘汰機制

2009-06-02 17:27:28

Hibernate框架ORM

2009-09-25 11:46:31

ibmdw軟件測試

2012-06-02 00:55:44

HibernateflushJava

2009-06-26 10:32:00

QBC查詢Hibernate

2010-03-12 19:03:48

Python 拼寫檢查

2009-04-27 09:41:01

C#WPFTemplate

2009-09-23 13:04:58

HibernateOracle sequ

2009-06-25 16:52:34

2011-09-16 14:21:47

Web API

2009-07-02 09:28:07

Hibernate三種

2009-09-23 14:23:51

Hibernate主鍵

2009-09-24 09:44:32

Hibernate j

2009-06-02 17:18:10

hibernate框架簡介

2009-06-08 16:45:00

精通StrutsTiles

2021-01-14 10:48:05

技術RPCRS

2021-02-20 09:45:02

RPC框架Java

2009-09-22 12:45:00

Hibernate性能

2009-09-22 15:10:22

Hibernate映射

2009-09-25 10:00:47

Hibernate映射
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩在线观看 | 亚洲福利一区二区 | 亚洲福利一区 | 精品乱码一区二区三四区视频 | 亚洲乱码国产乱码精品精98午夜 | 日韩一区二区三区在线视频 | 亚洲午夜视频在线观看 | 99精品视频在线 | 在线免费观看黄色 | 天堂中文在线播放 | 亚洲综合婷婷 | 一区二区三区精品视频 | 成人国产精品免费观看 | 欧美成人hd | 日韩免费在线 | 人人干人人玩 | www视频在线观看 | www.日日干 | 精品久久久久久亚洲综合网站 | 九九天堂网| 五月婷婷视频 | 成人免费一区二区 | 日韩免费视频一区二区 | 久久国际精品 | 国产日韩一区二区三免费 | 亚洲福利电影网 | 欧美狠狠操 | 日本三级电影在线免费观看 | 中文字幕国产 | 精品九九 | 男女下面一进一出网站 | 成人性生交大片 | www.婷婷亚洲基地 | 99久久免费精品国产男女高不卡 | 精品一区二区三区在线观看 | 九九在线视频 | 久久一区二区三区电影 | 伊人免费在线观看 | 日韩精品久久一区二区三区 | 亚洲国产一区二区三区 | 高清久久 |