如何在 grails 域中创建自定义查询

Posted

技术标签:

【中文标题】如何在 grails 域中创建自定义查询【英文标题】:how to create custom queries in grails domain 【发布时间】:2013-02-06 19:47:44 【问题描述】:

有没有办法在 grails 域中创建一个查询,该查询总是返回具有特定条件的记录?

例如:

Class Person 

  String firstname
  String lastname

现在,我可以在 Person 域类中做任何事情,而不是在整个代码库中都说 Person.findByFirstname("Bart"),这样我就可以简单地说像 Person.bart 之类的东西

【问题讨论】:

【参考方案1】:

Grails/GORM 中的namedQueries 支持应该可以满足这个需求:http://grails.org/doc/latest/ref/Domain%20Classes/namedQueries.html

   static namedQueries = 
       firstNameBart 
           eq 'firstname', 'Bart'
       
   

然后这样使用:

def barts = Person.firstNameBart.list()

【讨论】:

但我的查询是在 hql 中。我可以在命名查询中使用 hql 吗? 不幸的是,我相信namedQueries 仅支持标准生成器。如果您的 HQL 在外部 hbm.xml 文件中,则可以使用此方法:***.com/questions/8824465/…

以上是关于如何在 grails 域中创建自定义查询的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Java 中创建自定义 GUI 组件? (需要开始提示)

如何在 Laravel 4.2 中创建自定义 DB Query Builder 方法

在 Spring Boot 中创建自定义查询时出错

无法在 Spring Data Repository 中创建自定义查询方法 [重复]

如何在 laravel 中创建自定义关系?

如何在 QML 中创建自定义对象?