常用的數據庫操作包括:JDBC、EJB、JDO以及Hibernate。它的各有優缺點:
(1) JDBC:多數Java開發人員是用JDBC來和數據庫進行通信,它可以通過DAO模式進行改善和提高。但這種方式在大型應用程序中不容易操作使用,且維護起來相當困難。
(2) EJB:EJB通常是在數據持久技術上的第二個選擇,它是通過entitybeans來對數據進行持久化。首先就需要購買一個價位合理的EJB容器一J2EE應用服務器,也可以採用開源項目的免費EJB容器,比如JBOSS。但是很多商業EJB容器的性能和技術支持不太好,在EJB中實現JDBC也比較複雜。
(3) JDO:JDO的出現似乎有了一些改觀,但是,JDO沒有一個好的開源免費實現。好的產品部是商業產品,並且在國內沒有銷售和技術支持。JDO也不是一個輕量級封裝.它建立的持久層框架,很不完善。再加上JDO的標準還很不完善以及嚴重的產品分裂問題,使得很多操作方式很是煩瑣。
(4) Hibernate:Hibernate這種持久框架在某些方面有很大的不同,它不需要任何容器,提供簡單易用的API,也解決了JDO的很多缺陷。作爲一個良好的ORM ,它有如下特點:
-
透明地提供對象與關係數據庫的映射,以統一的接口方式支持多種數據庫。
-
緩存機制,複雜的緩存機制和鎖定策略,使針對數據庫操作大大減少。
-
開源免費的License,可以在需要的時候研究源代碼,改寫源代碼,進行功能的定製。
-
輕量級封裝,避免引入過多複雜的問題,容易調試,減輕程序員的負擔。
-
具有可擴展性,API開放,當本身功能不夠用的時候,可以自行編碼擴展。
-
開發者活躍,產品有穩定的發展保障。