Hibernate是一個開源的對象關係映射框架,它對JDBC進行了輕量級的封裝(未徹底封裝),使程序員能夠使用面向對象的編程思想來操縱數據庫。Hibernate是一個對象/關係映射的解決方法,簡單的說就是將Java中對象與對象之間的關係映射相當係數據庫中的表與表之間的關係。Hibernate提供了整個過程自動轉換的方案。
程序員
對象/關係映射ORM(Object-Relation Mapping)是用於將對象與對象之間的關係對應到數據庫表與表之間的關係的一種模式。簡單地說,ORM是經過使用描述對象和數據庫之間映射的元數據,將Java程序中的對象自動持久化到關係數據庫中。對象和關係數據是業務實現的兩種表現形式,業務實體在內存中表現爲對象,在數據庫中表現爲關係數據。內存中的對象之間存在着關聯和繼承關係。而在數據庫中,關係數據沒法直接表達多對多關聯和繼承關係。所以,ORM系統通常以中間件的形式存在,主要實現程序對象到關係數據庫數據的映射。通常的ORM包括四個部分:對持久類對象進行CRUD操做的API、用來規定類和類屬性相關查詢的語言或API、規定mapping metadata的工具,以及能夠讓ORM實現同事務對象一塊兒進行dirty checking、lazy association fetching和其餘優化操做的技術。數據庫
Hibernate做爲模型層/數據訪問層。它經過配置文件(hibernate.cfg.xml或hibernate.properties)和映射文件(*.hbm.xml)把Java對象或持久化對象(Persistent Object,PO)映射到數據庫中的數據表,而後經過操做PO,對數據庫中的表進行各類操做,其中PO就是POJO(Plain Old Java Objects,普通Java對象)加映射文件。Hibernate的體系結構如圖4.1所示。編程
圖4.1 Hibernate體系結構app
附:目錄《JavaEE基礎實用教程》筆記說明框架