grails - Grails GORM:通过关联查找所有内容

标签 grails gorm

我正在尝试让所有用户都处于特定年龄段。
我有一个User表和每个ProfileUser表。

最小User域类:

class User {

  static hasOne = [profile: Profile]

}

最小Profile域类:
class Profile {

  static belongsTo = [user: User]

  Integer age

  static constraints = {
    age(range: 18 .. 150)
  }

}

最小UserService域类:
class UserService {

  def list() {

    def users = User.findAll{
      gender in whichGenderList
      profile.age in 18 .. 150 /* Problem */
    }

}

Problem的行上,我在浏览器中遇到以下异常:
URI /foo/browse
Class org.hibernate.QueryException
Message could not resolve property: profile_alias0 of: foo.Profile

问题:
UserService中,如何从每个UserProfile表中选择其年龄?

我正在使用:
  • Grails 2.4.4

  • 谢谢!

    最佳答案

    使用这样的条件查询:

     def users = User.createCriteria().list(){
         inList('gender', whichGenderList)
         profile{
              inList('age', 18 .. 150)
         }
    
        }
    

    关于grails - Grails GORM:通过关联查找所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29154097/

    相关文章:

    grails - 如何在命令行中将参数传递给 Grails?

    grails - 从Grails中的jar文件导入类

    sql - SQL下面的GORM(grails)条件是什么?

    hibernate - 我应该在Grails项目中的哪里写标准查询?在服务层还是在域模型中?

    grails - Grails:从HQL到DetachedCriteria查询

    validation - Grails域:如何访问父域数据?

    grails - 添加GORM域类时列出与设置

    spring - 使用 Map 类型的构造函数参数定义 Spring bean

    hibernate - Grails save(flush:true)不会立即持久保存到数据库

    grails - 不确定用于Groovy调用的输入参数:模糊方法重载