Hibernate檢視原始碼討論檢視歷史
Hibernate |
Hibernate是一個開放源代碼的對象關係映射框架,它對JDBC進行了非常輕量級的對象封裝,它將POJO與數據庫表建立映射關係,是一個全自動的orm框架,hibernate可以自動生成SQL語句,自動執行,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的JavaEE架構中取代CMP,完成數據持久化的重任。
簡介
Hibernate作為數據庫與界面之間的橋樑,需要面向對象思想操縱對象。對象可能是普通JavaBeans/POJO。應用程序通過抽象將應用從底層事務隔離開。使用底層的API或Transaction對象完成輕量級框架提供一級緩存和二級緩存。Hibernate直接提供相關支持,底層驅動可以隨意切換數據庫,快速簡潔。使業務層與具體數據庫分開,只針對Hibernate 進行開發,完成數據和對象的持久化。針對不同的數據庫形成不同的SQL 查詢語句,降低數據庫之間遷移的成本。Hibernate支持多種緩存機制,Hibernate適配MS SQLSERVER、ORACLE、SQL、H2、Access和Mysql等多種數據庫。
評價
Hibernate用反射機制實現持久化對象操作,實現與IDE(Integrated Development Environment)的耦合度。Hibernate使用數據庫和配置信息為應用程序提供持久化服務。從配置文件中讀取數據庫相關參數,將持久化類和數據表對應使用。用Hibernate API對象持久化,利用映像信息將持久化操作翻譯為SQL語句進行查詢。Hibernate框架技術最關鍵是數據持久化,是將數據保存到持久層的過程。持久層的數據在掉電後也不會丟失的數據。持久層是基於Hibernate技術的檢索系統開發的基本。系統結構的層次模型有三個階段。整個過程首先實現應用層和數據層。數據層保存持久化數據,應用層接收輸入的數據。然後通過MVC 模式實現業務邏輯與表示層的分開。表示層和用戶實現交互,業務邏輯層處理數據持久化操作。將第二階段業務邏輯層的功能部署拆分後,業務邏輯層完成核心業務邏輯處理,持久層完成對象持久化。降低業務邏輯層複雜度的同時將數據持久化讓其他組件完成。[1]