等于对象条件查询

时间:2013-04-09 14:16:46

标签: grails gorm criteria

如果我有两个这样的域类:

class Company{
    string Name
    string address
}

class User {
    string firstName
    string lastName
    Company company
}

如何使用条件查询获取名为Google的公司的所有用户?像这样:

def company = Company.findByName("Google")

def c = User.createCriteria()
def usersByCompany = c.list {
    eq("company", company)
}

1 个答案:

答案 0 :(得分:0)

您可以在闭包内声明一个块来过滤公司中的任何字段:

def usersOfGoogle = User.createCriteria().list() {
    company {
      eq('name', 'Google')
    }
}

我只是不记得它是否只适用于人际关系(belongsTo& hasMany),也许你需要更改你的域类:

class User {
  static belongsTo = [company : Company]
}