大家讨论一下比较好Criteria框架。

目前我在完善我的分页查询框架时,希望整入一个Query by Criteria引擎或者叫框架,这样,可以方便地根据前台界面用户输入,自动组合成动态查询SQL语句,不知各位有无知道这方面的成熟框架,

TORQUE好像做得不错,Hibernate正在进行这么一个宏伟计划,TTS这几天讨论得很红火,如下连接:

Redesigning "Query by Criteria" in Hibernate

我想最好是基于JDBC的,因为我并不想每次从数据库真的获取一个完整数据对象。

顶一下,难道大家都在界面层就定制例如where xxx>123 and xxx<100 这样sql语句传到后台持久层吗?

我认为,其实动态的SQL查询,只要在DAO部分做一个类似于WHERE子句生成的类就可以解决了。

是啊,如何能做得更通用一点和灵活一点,只要告诉这个框架,数据对象哪些字段应该应该大于多少或小于多少就可以了。如何表达这个大于或小于算法?

多表的情况下,就很复杂了,我是用javascript在客户端构造sql语句的,随着客户需求的增多(函数,left join……)用javascript控制越来越麻烦了, SQL的验证也是个问题~~~

我们也正在做这个部分。你可以参考hibernate2.1。按照他的说法2.1已经可以full Criteria query API, with support for associations。我现在没看懂,如果Bang钻研透了,不妨在指点一二。谢了先。

>是啊,如何能做得更通用一点和灵活一点,只要告诉这个框架,
>数据对象哪些字段应该应该大于多少或小于多少就可以了。如
>何表达这个大于或小于算法?

ofbiz的entity engine中定义了EntityOperator的类,实现了SQL表达式里的操作符,值得借鉴一下