Hibernate與JDBC、EJB、JDO的比較

常用的數據庫操作包括:JDBCEJBJDO以及Hibernate。它的各有優缺點:

(1) JDBC:多數Java開發人員是用JDBC來和數據庫進行通信,它可以通過DAO模式進行改善和提高。但這種方式在大型應用程序中不容易操作使用,且維護起來相當困難。

(2) EJBEJB通常是在數據持久技術上的第二個選擇,它是通過entitybeans來對數據進行持久化。首先就需要購買一個價位合理的EJB容器一J2EE應用服務器,也可以採用開源項目的免費EJB容器,比如JBOSS。但是很多商業EJB容器的性能和技術支持不太好,在EJB中實現JDBC也比較複雜。

(3) JDOJDO的出現似乎有了一些改觀,但是,JDO沒有一個好的開源免費實現。好的產品部是商業產品,並且在國內沒有銷售和技術支持。JDO也不是一個輕量級封裝.它建立的持久層框架,很不完善。再加上JDO的標準還很不完善以及嚴重的產品分裂問題,使得很多操作方式很是煩瑣。

(4) HibernateHibernate這種持久框架在某些方面有很大的不同,它不需要任何容器,提供簡單易用的API,也解決了JDO的很多缺陷。作爲一個良好的ORM ,它有如下特點:

  • 透明地提供對象與關係數據庫的映射,以統一的接口方式支持多種數據庫。
  • 緩存機制,複雜的緩存機制和鎖定策略,使針對數據庫操作大大減少。
  •  開源免費的License,可以在需要的時候研究源代碼,改寫源代碼,進行功能的定製。
  •  輕量級封裝,避免引入過多複雜的問題,容易調試,減輕程序員的負擔。
  • 具有可擴展性,API開放,當本身功能不夠用的時候,可以自行編碼擴展。
  • 開發者活躍,產品有穩定的發展保障。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章