GRAILS:createCriteria NAND

GRAILS:createCriteria NAND,grails,createcriteria,Grails,Createcriteria,我在createCriteria中的查询中有一大堆行,但是必须进行一些更改,我需要在一列中隐藏带有0的行,在另一列中隐藏带有字母a的行,但是如果它们有0和另一个字母,我不会隐藏它们,我如何在createCriteria中进行此操作?我唯一的解决方案是使用NAND,但我认为它不存在 createCriteria.list{ nand{ eq('value',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
有什么建议吗

尝试“ne”,不等于

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

您可以使用
ne
进行以下操作:

createCriteria.list {
    and {
        ne 'value', 0
        ne 'letter', 'A'
    }
}
使用HQL,您可以执行以下操作:

def result = Object.executeQuery(
   "from Object o where o not in " +
       "(from Object o2 where o2.value = '0' and o2.letter = 'A')",
  )

SQL格式的条件是什么?从MyEntity中选择*其中值==0和字母“A”?但可以通过另一种方式完成,因为它不会显示带有A或0的对象,我需要两者都存在于同一行中,以隐藏该对象必须为您工作。如果没有,你就做错了。