1. 程式人生 > >【hibernate進階】hibernate基本原理

【hibernate進階】hibernate基本原理

        hibernate作為SSH的持久層,是一個開放原始碼的物件關係對映框架,它對JDBC進行了非常輕量級的物件封裝,使得Java程式設計師可以隨心所欲的使用物件程式設計思維來操縱資料庫。使用Hibernate可以增加開發速度,並且程式設計師可以花更多的時間來關注業務邏輯。本篇文章主要從hibernate是什麼,為什麼要用hibernate,以及hibernate的優缺點來介紹hibernate的基本原理。


hibernate是什麼

        Hibernate是一個物件關係對映(ORM)框架,hibernate也是一個持久層框架,除了hibernate,還有Oracle Toplink,JDO,Apache OJB,EJB,JPA。

為什麼要用hibernate

使用hibernate可以使我們採用物件化的思維操作關係型資料庫
1、Hibernate對JDBC訪問資料庫的程式碼做了封裝,大大簡化了資料訪問層繁瑣的重複性程式碼

2、Hibernate是一個基於jdbc的主流持久化框架,是一個優秀的orm實現,它很大程度的簡化了dao層編碼工作

3、Hibernate使用java的反射機制,而不是位元組碼增強程式類實現透明性
4、Hibernate的效能非常好,因為它是一個輕量級框架,對映的靈活性很出色。它支援很多關係型資料庫,從一對一到多對多的各種複雜關係

hibernate的優缺點

優點:
1、提高生產力。使用簡介的hql語句,如插入資料:原來的做法是:insert into 表名稱 value(值1,值2,值3,……),而現在的做法是:save(物件)。

2、使開發更加物件化(阻抗不匹配)
3、可移植性。支援各種資料庫,如果換個資料庫只要在配置檔案中變換配置就可以了,不用改變hibernate程式碼
4、沒有侵入性,支援透明持久化

缺點:

1、使用資料庫特性的語句,將很難調優
2、對大批量資料更新存在問題
3、系統中存在大量的統計查詢功能