原理:
1.讀取并解析配置文件
2.讀取并解析映射信息,創建sessionFactory
3.打開Sesssion
4.創建事務Transation
5.持久化操作
6.提交事務
7.關閉Session
8.關閉SesstionFactory
為什么要用:
1.對JDBC訪問數據庫的代碼做了封裝,大大簡化了數據訪問層繁瑣的重復性代碼。
2.Hibernate是一個基于JDBC的主流持久化框架,是一個優秀的ORM實現。他很大程度的簡化DAO層的編碼工作
3.hibernate使用java反射機制,而不是字節碼增強程序來實現透明性。
4.hibernate的性能非常好,因為它是個輕量級框架。映射的靈活性很出色。它支持各種關系數據庫,從一對一到多對多的各種復雜關系。
Hibernate是如何延遲加載?1.Hibernate2延遲加載實現:a)實體對象b)集合(Collection)
2.Hibernate3提供了屬性的延遲加載功能當Hibernate在查詢數據的時候,數據并沒有存在與內存中,當程序真正對數據的操作時,對象才存在與內存中,就實現了延遲加載,他節省了服務器的內存開銷,從而提高了服務器的性能。
3.Hibernate中怎樣實現類之間的關系?(如:一對多、多對多的關系)類與類之間的關系主要體現在表與表之間的關系進行操作,它們都市對對象進行操作,我們程序中把所有的表與類都映射在一起,它們通過配置文件中的many-to-one、one-to-many、many-to-many、
4.說下Hibernate的緩存機制1.內部緩存存在Hibernate中又叫一級緩存,屬于應用事物級緩存
2.二級緩存:a)應用及緩存b)分布式緩存條件:數據不會被第三方修改、數據大小在可接受范圍、數據更新頻率低、同一數據被系統頻繁使用、非關鍵數據c)第三方緩存的實現
5.Hibernate的查詢方式Sql、Criteria,objectcomptositionHql:1、屬性查詢2、參數查詢、命名參數查詢3、關聯查詢4、分頁查詢5、統計函數
6.如何優化Hibernate?1.使用雙向一對多關聯,不使用單向一對多
2.靈活使用單向一對多關聯
3.不用一對一,用多對一取代
4.配置對象緩存,不使用集合緩存
5.一對多集合使用Bag,多對多集合使用Set
6.繼承類使用顯式多態
7.表字段要少,表關聯不要怕多,有二級緩存撐腰
新聞熱點
疑難解答