Hibernate框架
小編:管理員 471閱讀 2022.09.14

Hibernate結構
Hibernate是一個開放源代碼的對象關系映射框架,,對JDBC進行了非常輕量級的對象封裝,所以任何可以使用JDBC的地方都可以用Hibernate來替代,實現了對象與關系數據庫記錄的映射關系,簡化了開放人員訪問數據庫的流程,極大地提高了軟件開發的效率。
Hibernate提供的接口session一個輕量級的非線程安全的對象,主要負責被持久化對象與數據的操作,可以使用SessionFactory來創建一個Session,當對數據庫的所有操作都執行完,就關閉session,session在訪問數據庫時會建立與數據庫的連接,這個連接只有在需要時才會被建立。
SessionFactory負責初始化Hibernate,它可以被看作是數據源的代理,用來創建session對象,SessionFactory對象是線程安全的,可以同時被多個線程訪問。一般而言,SessionFactory會在Hibernate啟動時創建一次,因此,為了便于使用,SessionFactory應該用一個單例模式來實現,
Transaction負責事物相關的操作,主要方法有commit()和rollback(),其中commit()方法用來負責事物的提交,rollback()方法負責事物的回滾,可以通過Session的beginTrancation()方法來創建。
Query負責執行各項數據庫操作,可以使用Hibernate查詢語言或SQL語句兩種方式查詢,可以通過session.createQuery()方法創建Query()。此外,Hibernate還提供了另外一種查詢方式QBC,使用方法是: 先使用session實例的createCriteria()方法創建Criteria對象,接著使用工具類Restrictions的方法Criteria對象設置查詢條件,同時還可以用Older工具類設置排序方式,最后用Projections工具類的方法進行統計和分組,使用Criteria對象的list()方法進行查詢并返回結果,需要注意的是,QBC是一種類型安全的面向對象的查詢方式。
Configuration用于讀取Hibernate配置文件,并生成SessionFactory對象,其中配置文件有hibernate.cfg或hibernate.properties;另一類是映射文件.xml文件,為了方便管理,通常會給每個對象創建一個單獨的映射文件。
Hibernate的工作流程1.應用程序通過Configuration讀取配置文件,并創建SessionFactory對象。
2.通過SessionFactory生成一個對象。
Session session=SessionFactory.openSession();
3.通過Session對象的beginTransaction()創建一個事物。 Transaction t=session.beginTransaction();接著可以通過Session對象的get()、load()、save()、update()、delete()和saveOrUpdate()等方法實現數據的加載、保存、更新、和刪除等操作;也可以通過session生成一個Query對象然后利用Query對象執行查詢操作;最后通過commit()方法或rollback()方法完成事物操作。
4.在完成所有持久化操作與事物操作后需要關閉Session與SessionFactory。
相關推薦
- 經典筆試題-JDBC及Hibernate篇 五、JDBC 及Hibernate:(共12 題:基礎10 道,中等難度2 道)110、數據庫,比如100 用戶同時來訪,要采取什么技術解決?【基礎】 答:可采用連接池。111、什么是ORM?【基礎】 答:對象關系映射(Object—Relational Mapping,簡稱ORM)是一種為了解決面向對象…
- Hibernate Criterion 在查詢方法設計上能夠靈活的依據Criteria的特點來方便地進行查詢條件的組裝.Hibernate設計了CriteriaSpecification作為Criteria的父接口,以下提供了Criteria和DetachedCriteria.Criteria和DetachedCriteria的主要差別在于創建的形式不一樣,Criteria是在線的,所…