Grails 命名查询

Posted

技术标签:

【中文标题】Grails 命名查询【英文标题】:Grails named query 【发布时间】:2011-11-15 20:29:43 【问题描述】:

我有两个域类,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

我似乎无法克服它......

有什么建议吗?

【问题讨论】:

【参考方案1】:

您的条件语法有点偏离。试试这个:

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

【讨论】:

今晚我会试一试!没有对命名查询进行太多工作,所以一开始是很长的路要走:)

以上是关于Grails 命名查询的主要内容,如果未能解决你的问题,请参考以下文章

如何在 grails 命名查询中编写“不存在”查询?

Grails 命名查询 - 按关联查找

命名查询中的 Grails GORM 计数函数

grails 命名查询返回不正确的数据

使用 MongoDB 在 Grails 中命名查询的列表方法中排序不区分大小写

JSON的Grails 2.4命名配置不起作用