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

文章來源:
http://jobs.cnblogs.com/archive/2006/01/13/317007.html