[SEAM] seam中碰到一个动态增加检索拼条件'or'的问题

big1980 2009-06-09
我在使用seam中碰到一个动态增加检索条件的问题
我用的是这样的形式:
private static final String[] RESTRICTIONS = {
			" bugdb.leader = #{identity.username} ",
			" bugdb.tanto = #{identity.username} ",
			" bugdb.nextTo = #{identity.username} "
			};
.................
bugdbs.setRestrictionExpressionStrings(Arrays.asList(RESTRICTIONS));

当有条件传入的时候,拼出了这样的sql语句
and bugdb0_.LEADER=? and bugdb0_.TANTO=? and bugdb0_.NEXT_TO=?


而我想要得到这样的结果
and (bugdb0_.LEADER=? or bugdb0_.TANTO=? or bugdb0_.NEXT_TO=?)

应该如何操作呢?
big1980 2009-06-10
这里人气不旺阿
yzhw 2011-05-27
刚看到,时间太久远了。。。
你可以在写RESTRICTIONS的时候把and(or) 也写上去,这样在解析EJBQL的时候一定会出错,但这时可以重写一下createQuery方法,在调用super.createQuery方法前把错误的EJBQL用String操作按你自己的逻辑操作一下,得到一个正确的。
Global site tag (gtag.js) - Google Analytics