Grails GORM:选择为

2023-12-11

我试图获取今天出生的所有 GORM 用户,但我无法在 Grails 中编写此查询:

SELECT
DAY(dateOfBirth) AS 'day',
MONTH(dateOfBirth) AS 'month'
FROM Users
WHERE day = '...' AND month = '...';

...将替换为今天的值。

Minimal User领域类

class User {

  Date dateOfBirth

  ...

}

Minimal UserService class

@Transactional
class UserService {

  def getTodayBirthdays() {

    def bornTodayQuery = User.where{
      /* I'm thinking here I must
       * select the DAY and MONTH from the DB
       * and compare it with the today ones.
       */
    }       

    User usersBornToday = bornTodayQuery.findAll()      

    usersBornToday      

  }

}

有什么想法如何使用 GORM 创建别名(SELECT 字段 AS 别名)?

我在用着:

  • Grails 2.4.4

Thanks!


你可以使用哪里查询为您服务:

@Transactional(readOnly = true)
def listBirthday(int _month, int _day) {
  // Calendar.JANUARY equals to zero!
  def m = _month + 1
  // Run a where query on the users
  User.where {
    month(dateOfBirth) == m && day(dateOfBirth) == _day
  }
}

@Transactional(readOnly = true)
def listBirthdayToday() {
  def cal = Calendar.getInstance()
  listBirthday(cal.get(cal.MONTH), cal.get(cal.DAY_OF_MONTH))
}

此外month and day还有一些其他的功能,here是文档(查找“其他功能”)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Grails GORM:选择为 的相关文章

  • 模拟 Spock 中的超类

    如何对 Spock 中具有超类的类进行单元测试 该超类调用来自其超类的方法调用 或者如何模拟 Spock 中的超类 Ex class Bar def method1 parm1 Method actions class Foo extend
  • 使用 JQuery 的 Grails 项目,无需插件

    我正在尝试设置一个简单的 Grails 2 1 1 应用程序 该应用程序将使用 JQuery 我有一个名为 TestController 的控制器和一个位于正确位置的index gsp 我手动添加 JQuery 库 没有使用 Grails
  • 我如何(或者应该?)从 Grails 中的 SiteMesh 模板 (views/layouts/main.gsp) 访问服务层?

    我需要在我正在构建的网站的页脚中创建一个顶部列表 页脚是在默认的 SiteMesh 布局模板中创建的 views layouts main gsp 为了创建顶部列表 需要访问数据库 因此我将创建顶部列表所需的所有逻辑封装在服务类中 serv
  • 模块化大型 Grails 应用程序的最佳实践?

    我正在开发的 Grails 应用程序变得相当大 最好将其重构为几个模块 这样我们就不必每次都重新部署整个事情 将 Grails 应用程序拆分为多个模块的最佳实践是什么 特别是 我想创建一个域类 相关服务的包 并将其作为模块在应用程序中使用
  • 如何在 Grails 中管理对象修订?

    我需要对我的文章实施修订系统grails网络应用程序 在搜索 grails 论坛 stackoverflow grails 插件和谷歌搜索互联网后 我最终得到了 3 个选项 Option 1 使用grails Envers 插件 see h
  • Grails GORM 和枚举

    我在 Grails 中使用枚举时遇到问题 我尝试在 grails 域对象中使用枚举 code package it xxx tools kanban import java util Date class Task String name
  • Grails/GGTS 2.4.2 没有将插件放在类路径上?

    我正在尝试将旧的 1 3 Grails 项目更新到最新的 Grails Groovy etc 所以我下载了 Grails 2 4 2 Groovy 2 3 和 Java 1 7 0 65 然后我通过 Import gt Grails 导入了
  • Spock模拟inputStream导致无限循环

    我有一个代码 gridFSFile inputStream bytes 当我尝试这样测试时 given def inputStream Mock InputStream def gridFSDBFile Mock GridFSDBFile
  • 访问 PUT 或 POST 请求的原始正文

    我正在 Grails 中实现 RESTful API 并使用自定义身份验证方案 该方案涉及对请求正文进行签名 以类似于 Amazon 的 S3 身份验证方案的方式 因此 为了验证请求 我需要访问原始 POST 或 PUT 正文内容来计算和验
  • Grails 2.0 的性能真的那么低吗?

    我对基于 JVM 堆栈的 WEB 开发有点新手 但未来的项目将特别需要一些基于 JVM 的 WEB 引擎 所以我开始寻找一些可以快速完成事情的方法 并转向尝试 Grails 从书中看 事情看起来不错 但对很长的启动时间 grails run
  • OS X - 输入“grails”命令后终端重置

    在我的 bash profile 中 我有以下几行 export GRAILS HOME usr share java grails export PATH PATH GRAILS HOME bin GRAILS HOME 是同一目录中 g
  • Grails(现在)值得吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我知道这是一个复制 https stackoverflow com questions 397228 is grails worth it然而
  • Grails:在域类中动态注入服务

    我需要注入基于域属性的服务 到目前为止我想出了以下内容 ApplicationHolder application getServiceClass package property Service clazz 但以这种方式加载它不会注入它的
  • Grails 测试中的模拟配置

    在 Grails 2 0 X 之前 可以使用mockConfig测试扩展的基类提供的方法 然而 在 Grails 2 0 X 中 建议测试类使用 TestFormixin 而不是扩展基类 这个 mixin 似乎没有提供任何与mockConf
  • grailsGrails 单元测试中的应用程序访问

    我正在尝试为使用 grailsApplication config 进行一些设置的服务编写单元测试 看来在我的单元测试中 服务实例无法访问其设置的配置文件 空指针 而当我运行 run app 时它可以访问该设置 我如何配置服务以在单元测试中
  • Grails 在 gsp 中迭代与访问 Map 元素

    完整上下文 我正在尝试使用 grails 应用程序处理多个文件 我将显示的代码来自后处理页面 其中提供了有关已处理文件的信息 我最初的感觉是使用这样的代码 table tr th Parsed from Excel th th Upload
  • 直接链接到普惠制

    在一个普惠制中 是否可以创建到另一个普惠制的直接链接 我知道我可以使用
  • 避免连接失败时出现空指针

    我有我的域类 带有命名查询 class Atendimento implements Serializable Funcionario funcionario static mapping funcionario column FUNCOD
  • Grails 3.x bootRun 失败

    我正在尝试在 grails 3 1 11 中运行一个项目 但出现错误 失败 构建失败并出现异常 什么地方出了错 任务 bootRun 执行失败 进程 命令 C Program Files Java jdk1 8 0 111 bin java
  • Grails - 在 CLASSPATH 中找不到类“org.grails.tomcat.TomcatLoader”

    grails run app目前 Eclipse 内部为我的 Google App Engine Grails 测试应用程序提供了以下例外情况 Enhancing JDO classes enhance DataNucleus Enhanc

随机推荐