1、易于学习
2、支持主流数据库,包括MS SQL Server 2000、Oracle 9i、DB 2 7、Sybase、My SQL 5.0。应该有良好的支持多数据库方式,而不是现在一些流行O-R Mapping多数据库支持方式那么笨拙。
3、包括数据查询和对象查询。明确区分两种查询,他们对应的OQL功能应该有所不同。
4、能够处理复杂对象。例如多层一对多包含关系。评注,现在流行的O-R Mapping引擎处理复杂对象都不好,包括Hibernate 3.0。
5、有较为完整的DSL。不单应该包括用于运行时数据处理的OQL,还应该包括定义期的语言。
6、不完整装载。
7、对Event-Driven模型有良好的支持,并且支持请求合并
8、O-R Mapping应该更像一个“编译器”和“执行引擎”的组合,这个编译器输入是OQL,编译时使用各种技巧进行优化,编译的中间结果可以存储,可以生成存储过程。甚至可以根据执行过程的统计信息,采用不同的优化手段,调整最终的执行计划。
9、应该有良好的性能
我认为,一个实现良好O-R Mapping引擎,可以运用大量的优化技巧,其中一些优化技巧,是相当多开发人员都不掌握的,还有一些优化技巧,使用起来比较复杂,开发人员为了兼顾开发效率,不予以使用的。所以,一个实现良好O-R Mapping引擎,应该能够比大多数开发者直接使用JDBC要快。
文章来源:
http://jobs.cnblogs.com/archive/2006/01/13/317007.html