1、易于學(xué)習(xí)
2、支持主流數(shù)據(jù)庫(kù),包括MS SQL Server 2000、Oracle 9i、DB 2 7、Sybase、My SQL 5.0。應(yīng)該有良好的支持多數(shù)據(jù)庫(kù)方式,而不是現(xiàn)在一些流行O-R Mapping多數(shù)據(jù)庫(kù)支持方式那么笨拙。
3、包括數(shù)據(jù)查詢和對(duì)象查詢。明確區(qū)分兩種查詢,他們對(duì)應(yīng)的OQL功能應(yīng)該有所不同。
4、能夠處理復(fù)雜對(duì)象。例如多層一對(duì)多包含關(guān)系。評(píng)注,現(xiàn)在流行的O-R Mapping引擎處理復(fù)雜對(duì)象都不好,包括Hibernate 3.0。
5、有較為完整的DSL。不單應(yīng)該包括用于運(yùn)行時(shí)數(shù)據(jù)處理的OQL,還應(yīng)該包括定義期的語(yǔ)言。
6、不完整裝載。
7、對(duì)Event-Driven模型有良好的支持,并且支持請(qǐng)求合并
8、O-R Mapping應(yīng)該更像一個(gè)“編譯器”和“執(zhí)行引擎”的組合,這個(gè)編譯器輸入是OQL,編譯時(shí)使用各種技巧進(jìn)行優(yōu)化,編譯的中間結(jié)果可以存儲(chǔ),可以生成存儲(chǔ)過(guò)程。甚至可以根據(jù)執(zhí)行過(guò)程的統(tǒng)計(jì)信息,采用不同的優(yōu)化手段,調(diào)整最終的執(zhí)行計(jì)劃。
9、應(yīng)該有良好的性能
我認(rèn)為,一個(gè)實(shí)現(xiàn)良好O-R Mapping引擎,可以運(yùn)用大量的優(yōu)化技巧,其中一些優(yōu)化技巧,是相當(dāng)多開發(fā)人員都不掌握的,還有一些優(yōu)化技巧,使用起來(lái)比較復(fù)雜,開發(fā)人員為了兼顧開發(fā)效率,不予以使用的。所以,一個(gè)實(shí)現(xiàn)良好O-R Mapping引擎,應(yīng)該能夠比大多數(shù)開發(fā)者直接使用JDBC要快。

文章來(lái)源:
http://jobs.cnblogs.com/archive/2006/01/13/317007.html