[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操作按你自己的逻辑操作一下,得到一个正确的。 |