1. 程式人生 > >Hibernate 5.1概述

Hibernate 5.1概述

Hibernate是一個針對Java應用的ORM解決方案。

1. 從架構上說,Hibernate在JDBC基礎之上,基於JPA或Hibernate Native API,為應用提供統一的訪問層,如下圖所示:


2. Hibernate實現了2組資料訪問的API,一個是JavaEE標準的JPA,另一個是Hibernate獨有的Hibernate Native API。

2組API之間的對應關係如下:

Hibernate Native API Java Persistence API 說明
org.hibernate.cfg.Configuration javax.persistence.Persistence 設定上下文配置引數
org.hibernate.SessionFactory javax.persistence.EntityManagerFactory 執行緒安全的全域性物件,只在應用啟動時初始化一次
Session物件的工廠
org.hibernate.Session javax.persistence.EntityManager 輕量級的、非執行緒安全的工作單元
Transaction物件的工廠
org.hibernate.Transaction javax.persistence.EntityTransaction 輕量級的、非執行緒安全的事務邊界

3. Hibernate 5.1釋出模組的組成

  • hibernate-core,ORM及用於整合的SPI
  • hibernate-entitymanager,支援JPA
  • hibernate-c3p0,整合C3P0連線池
  • hibernate-hikaricp,整合HikariCP連線池
  • hibernate-proxool,整合Proxool連線池
  • hibernate-ehcache,整合Ehcache作為二級快取
  • hibernate-infinispan,整合Infinispan作為二級快取
  • hibernate-java8,在域模型中支援Java8特有的資料型別(如JSR 310 Date/Time型別)
  • hibernate-spatial,支援Spatial/GIS資料型別
  • hibernate-envers,支援對實體的歷史版本的追蹤
  • hibernate-osgi,支援在OSGi容器中執行Hibernate應用

參考文獻:


http://docs.jboss.org/hibernate/orm/5.1/userguide/html_single/Hibernate_User_Guide.html

Hibernate

參考文獻: