Hibernate 和JDBC的區別

HIbernate:java

  1.概念:ORMapping (對象關係映射)程序員

    1)操做數據庫的框架,底層是經過JDBC操做數據庫的數據庫

    2)用面向對象的方式操做數據庫緩存

  2.JDBC的缺點:app

    1)代碼繁瑣框架

    2)不是面向對象的數據庫操做優化

    3)資源關閉的代碼也很繁瑣spa

    4)沒有作到數據庫緩存代理

    5)移植性比較差(MySQL沒法移植到Oracle)xml

   JDBC優勢:

    1)由於是底層操做因此效率高

    

  3.Hibernate

    1)代碼比較精簡

    2)是面向對象的數據庫操做

    3)只須要關閉一個對象就能夠了(關閉Session)

    4)數據緩存 (一級緩存、二級緩存、查詢緩存)

    5)移植性比較好

  缺點:

    1)程序員沒法控制SQL語句的生成 (HQL語句能夠手寫SQL語句)

    2)一個項目對SQL語句優化特別高,HIbernate則不適合

    3)若是一張表的數據量特別大,則不適合HIbernate

 ====================數據庫和實體類的映射文件=============================

============================hIbernate.cfg.xml的配置文件========================================

=======================hIbernate須要的包===============================================

動態代理模式:JDK的動態代理(proxy)代理對象是在內存中產生的本質上字節碼生成的一個對象

javassist.jar: 字節碼jar包。相似於產生動態代理對象的機制。主要操做字節碼文件的。和Java虛擬機直接相關的jar包(HIbernate的延遲加載用到)

 

 

 

相關文章
相關標籤/搜索