Hibernate框架

山有木xi發表於2020-04-20

Hibernate是一個開放原始碼的物件關係對映框架,它對JDBC進行了非常輕量級的物件封裝,它將POJO與資料庫表建立對映關係,是一個全自動的orm框架,hibernate可以自動生成SQL語句,自動執行,使得Java程式設計師可以隨心所欲的使用物件程式設計思維來操縱資料庫

Hibernate的優點

  • 對JDBC訪問資料庫的程式碼做了封裝,非常簡化了資料訪問層繁瑣的重複性程式碼

  • Hibernate是一個機遇JDBC的主流持久化框架,是一個非常優秀的 ORM實現。能夠非常多大程度的簡化DAO層的編碼工具

  • Hibernate使用Java反射機制,而不是透過位元組碼增強程式來實現透明性

  • Hibernate的效能非常好,因為它是個輕量級框架,對映的靈活性很出色,支援各種關聯式資料庫和多種複雜關係

那麼 什麼是ORM框架

ORM,就是物件-關係對映,物件導向的開發方法是當今企業級應用開發環境中的主流開發方法,關係型資料庫更應用環境中永久存放資料的主流資料儲存系統,物件和關係資料是業務的兩種表現形式,因此ORM系統一般以中介軟體的形式存在,主要實現持續物件到關係型資料庫資料的對映

Hibernate的工作原理

透過Configuration config = new Configuration().configure();//讀取並解析hibernate.cfg.xml配置檔案

由hibernate.cfg.xml中的<mapping resource="com/xx/User.hbm.xml"/>讀取並解析對映資訊

透過SessionFactory sf = config.buildSessionFactory();//建立SessionFactory

Session session = sf.openSession();//開啟Sesssion

Transaction tx = session.beginTransaction();//建立並啟動事務Transation

persistent operate運算元據,持久化操作

tx.commit();//提交事務

關閉Session

關閉SesstionFactory

Hibernate 的快取機制

一級快取就是  Session 級別的快取,在事務範圍內有效是,內建的不能被解除安裝。二級快取是 SesionFactory級別的快取,從應用啟動到應用結束有效。是可選的,預設沒有二級快取,需要手動開啟。儲存資料庫後,快取在記憶體中儲存一份,如果更新了資料庫就要同步更新。

那麼什麼資料適合放在二級快取呢

  • 較少被修改的資料,例如:帖子最後回覆時間

  • 基礎被查詢的資料

  • 不是很重要的資料,允許出現偶爾併發的資料

  • 不會被併發訪問的資料

  • 常量資料


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69917874/viewspace-2687219/,如需轉載,請註明出處,否則將追究法律責任。

相關文章