Grails 命名查询

发布于 2024-12-15 22:06:18 字数 675 浏览 2 评论 0原文

我有两个域类,Alpha 和 Beta。

class Beta{
  String betaName
  int age
}

class Alpha{
  String name
  static belongsTo=[creator:Beta]

  static namedQueries = {
    alphaByUser{ param ->
      eq creator.betName,param.betaName
}
    alphaByAge {param -> 
      eq creator.age,param 
    }
  }
}

现在,当我调用例如 Alpha.alphaByUser(betaUser).list() 时,我不断收到类似以下内容:

java.lang.NoSuchMethodException: Unknown property 'create' on class 'class org.codehaus.groovy.grails.commons.DefaultGrailsDomainClass'

或者

object is not an instance of declaring class

我似乎无法超越它......

有什么建议吗?

I have two domain classes, Alpha and Beta.

class Beta{
  String betaName
  int age
}

class Alpha{
  String name
  static belongsTo=[creator:Beta]

  static namedQueries = {
    alphaByUser{ param ->
      eq creator.betName,param.betaName
}
    alphaByAge {param -> 
      eq creator.age,param 
    }
  }
}

Now when I call for example Alpha.alphaByUser(betaUser).list() I keep getting things like:

java.lang.NoSuchMethodException: Unknown property 'create' on class 'class org.codehaus.groovy.grails.commons.DefaultGrailsDomainClass'

Or

object is not an instance of declaring class

I just can't seem to get past it...

Any suggestions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我乃一代侩神 2024-12-22 22:06:18

您的条件语法有点不对。试试这个:

static namedQueries = {
    alphaByUser{ param ->
        creator {
            eq 'betName', param.betaName
        }
    }
}

Your criteria syntax is a bit off. Try this:

static namedQueries = {
    alphaByUser{ param ->
        creator {
            eq 'betName', param.betaName
        }
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文