Hibernate 是一個開放源代碼的O/R Mapping (對象關(guān)系映射框架),它對JDBC 進行了輕量級的對象封裝,使Java 程序員可以隨心所欲地使用對象編程思維來操縱數(shù)據(jù)庫。其官方網(wǎng)址:http://www.hibernate.org。
(2)iBATIS
iBATIS也是開放源代碼的O/R Mapping,但這是一種"半自動化"的ORM實現(xiàn)。所謂"半自動",iBATIS以SQL開發(fā)的工作量和數(shù)據(jù)庫移植性方面的讓步,為系統(tǒng)設(shè)計提供了更大的自由空間。其官方網(wǎng)址:http://ibatis.apache.org/。
(3)TopLink
TopLink是Java對象關(guān)系可持續(xù)性體系結(jié)構(gòu),原屬于WebGain公司的產(chǎn)品,現(xiàn)在被Oracle收購,并重新包裝為Oracle AS TopLink。TopLink為在關(guān)系數(shù)據(jù)庫表中存儲Java對象和企業(yè)Java組件(EJB)提供了高度靈活和高效的機制。TopLink提供了一個 持久性基礎(chǔ)架構(gòu),使開發(fā)人員能夠?qū)碜远喾N體系結(jié)構(gòu)的數(shù)據(jù)(包括EJB、CMP和BMP)、POJO、servlet、JSP、會話Bean和消息驅(qū)動 (Bean)集成在一起。
(4)Entity Bean
Entity Bean它提供了一個持久性數(shù)據(jù)的面向?qū)ο蟮谋硎?。不同于對象關(guān)系映射,Entity Bean 對于關(guān)系數(shù)據(jù)庫沒有限制;它描述的持久性信息可以來自一個企業(yè)信息系統(tǒng)(EIS)或者其他的存儲設(shè)備。
(5)Castor JDO
Castor JDO 是ExoLab Group下面的一個開放源代碼的項目,它最大的特色就是實現(xiàn)了大部分的ODMG OQL規(guī)范,其原理是通過Java反射API去實現(xiàn)屬性的設(shè)置和讀取。它的主要API 和數(shù)據(jù)接口為:JDO-like、SQL、OQL、JDBC、LDAP、XML、DSML。它支持分布式目錄事務(wù)處理和時間;提供處理XML、 Directory、XADirectory的類庫,提供從XML到Java類的轉(zhuǎn)換機制。其官方網(wǎng)址:http://castor.exolab.org。
(6)OJB
Apache OJB(Object Relational Bridge)是Apache下面的一個開放源代碼的項目。Apache OJB是一種對象關(guān)系映射工具,能夠完成從Java對象到關(guān)系數(shù)據(jù)庫的透明存儲。OJB使用基于XML的對象關(guān)系映射,映射發(fā)生在一個動態(tài)的元數(shù)據(jù)層,使 得通過一個簡單的元對象協(xié)議(MOP)在運行時就可以操作元數(shù)據(jù)層去改變存儲內(nèi)核。其官方網(wǎng)址:http://db.apache.org/ojb/。
(7)Torque
Apache Torque是一個使用關(guān)系數(shù)據(jù)庫作為存儲手段的Java應(yīng)用程序持久化工具。Torque是Apache下面的一個開源項目,由Web應(yīng)用程序框架Jakarta Apache Turbine發(fā)展而來,但現(xiàn)在已完全獨立于Turbine。