Kasper Sørensen在eobjects.dk上创建了一个叫做MetaModel的新的开源项目。该项目是一个通用的领域模型、查询引擎以及对不同类型数据存储的优化器,如关系数据库和一般文件。MetaModel是一个Java库,提供了一个流动的、面向对象的接口以进行SQL兼容的查询。
\MetaModel为“数据存储”领域提供了一个通用的领域模型。例如,该库提供了诸如Table、Column、Query以及DataSet这样的领域对象,它们可用来查询数据源,甚至还能构建或者调整数据存储的结构。该模型使得你可以通过JDBC创建并操纵SQL查询。它还提供了针对CSV和Excel文件的相同的查询能力。
\MetaModel的查询引擎完全是面向对象的。它允许我们使用Java对象进行查询进而代替了专有或者容易出错的语言。在创建查询时它还提供了一定程度的类型安全。
\关于MetaModel库的有用性,Sørensen说到:
\它基于已被大家广为接受的标准和类型安全的查询语句,强制使用更好的方式与数据进行交互。该框架小巧且简单,但是很强大,这使得使用和学习起来都很简单。\
该项目站点声明了MetaModel的总体目标就是提供一个Java API,可以:
\- 遍历和构建数据存储源的结构。\
- 以类似SQL的方式执行数据存储中立的查询。\
- 通过查询引擎提供不支持查询的数据存储。\
- 支持JDBC数据库、CSV文件及Excel表格。\
- 将单独的查询分割为产生相同结果的多个查询,这对于重负载的情况可以进行性能优化和网格执行(grid execution)。\
eobjects.dk还提供了使用MetaModel进行编程的webcast,展示了使用领域模型与不同的数据源(CSV及MySQL DB)协同工作的基本内容。该webcast的前半部分详细讲述了与数据存储交互的核心类DataContext的使用。后半部分解释了如何使用库中的类来生成查询语句。
\MetaModel并不是O/R映射工具的等价物或者替代品。它提供了一种更加简单的方式无需直接使用JDBC就能与数据库交互。
\查看英文原文:New Open Source project provides Object Oriented data access