我不知道这个查询是否可以使用 grails executeQuery。我制作了一个域类示例:
class Child {
String firstName
String lastName
String nickName
}
这是我的引导带:
class BootStrap {
def init = { servletContext ->
def childOne = new Child(firstName: 'Poliwag', lastName:'Wrath', nickName: 'taurus')
def childTwo = new Child(firstName: 'Poliwarp', lastName: 'Wrath', nickName:'libra')
def childThree = new Child(firstName: 'Poliwag', lastName: 'Wrath',nickName:'aries')
def childFour = new Child(firstName: 'Poliwag', lastName: 'Wrath',nickName:'virgo')
childOne.save(flush: true, failOnError: true)
childTwo.save(flush: true, failOnError: true)
childThree.save(flush: true, failOnError: true)
childFour.save(flush: true, failOnError: true)
}
}
如您所见,我有 2 个示例数据条目,它们具有相同的firstName和lastName属性,它们仅在nickName属性上有所不同。我想在executeQuery中得到一个条目列表,其名字和姓氏属性与另外 2 个条目相同。是否可以在 grails executeQuery中使用带有 count(...) 的运算符?我认为这是使用动态查找器的等效代码:
def list = []
def c = Child.countByFirstNameAndLastName('Poliwag',Wrath)
if (c == 2) {
list.add(Child.findByFirstNameAndLastName('Poliwag','Wrath'))
}
如果可能的话,我认为如果我使用executeQuery它将节省更多的代码行。谢谢..