0

我在 createCriteria 中的查询中有一堆行,但必须进行一些更改,我需要隐藏列中包含 0 和另一列中字母 A 的行,但如果它们有,我不会隐藏它们0 和另一个字母,我怎样才能在 createCriteria 中做到这一点?我唯一的解决方案是使用 NAND,但我认为它不存在......

             createCriteria.list{
                     nand{
                          eq('value',0)
                          eq('letter','A')  
                     }
             }


             TABLE
             VALUE          LETTER
             0              A                HIDE
             0              B                NOT HIDE
             1              A                NOT HIDE

有什么建议吗?

4

3 回答 3

2

您可以使用andne

createCriteria.list {
    and {
        ne 'value', 0
        ne 'letter', 'A'
    }
}
于 2013-02-05T15:58:21.100 回答
0

使用 HQL,您可以:

def result = Object.executeQuery(
   "from Object o where o not in " +
       "(from Object o2 where o2.value = '0' and o2.letter = 'A')",
  )
于 2013-02-05T16:00:27.010 回答
0

试试“ne”,不等于

createCriteria.list{
   and{
      eq('value',0)
      ne('letter','A')  
   }
}
于 2013-02-05T15:55:33.013 回答