有个办法,不知是否适用,因为,你说的表太多了点。如
select * from test t where t.a=t.a and t.b=t.b and t.c=t.c
and t.d=t.d
先把所有字段给列出来,如果选用了哪个字段,就把相应的地方给替换掉,如要按a 和 b 列查询,就可用参数把这里的t.a,t.b给替换掉,这样就不用动态构建SQL了。
当然我想这只是一种思路,具体实现还得看你的具体情况
我也在思考在EJB中组合查询的实现问题,如有好的办法,望共切磋
soarweiss@vip.sina.com