From 语句是最简单的对象查询:

Query.From(DB.Cat);

这将生成HQL语句:

from Cat as _Cat_

其中_Cat_为默认的alias。Criteria类中的每一个Criteria内部类都有一个没有参数的构造函数和一个带有字符串参数的构造函数,当你构造它的一个实例的时候,如果给它一个字符串参数,它将以这个字符串为alias。否则将采用默认的alias,为对应实体类的类名两端各加一个下划线,例如CatCriteria的默认alias为_Cat_。

DB中定义Criteria内部类的采用没有参数的构造函数,它们使用默认的 alias,你可以自定Criteria的实例:

Criteria.CatCriteria cat = new Criteria.CatCriteria("cat");

Query.From(cat);
这将产生HQL语句:
from Cat as cat

From语句可以接受多个类的Criteria,这将产生一个笛卡尔交叉连接:

Query.From(DB.Formula, DB.Parameter);
Criteria.FormulaCriteria form = new Criteria.FormulaCriteria();
Criteria.ParameterCriteria param = new Criteria.ParameterCriteria();
Query.From(form, param);

采用DB中与定义的Criteria有时候比较方便,但是在写查询条件的时候可能显得比较繁琐。

下一部分  ObjectQuery for Castle.ActiveRecord 使用指南(1):Joins

posted on 2006-10-18 20:51  benfish  阅读(426)  评论(0编辑  收藏  举报