gpt4 book ai didi

grails - Grails GORM:选择为

转载 作者:行者123 更新时间:2023-12-02 14:42:12 25 4
gpt4 key购买 nike

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

SELECT
DAY(dateOfBirth) AS 'day',
MONTH(dateOfBirth) AS 'month'
FROM Users
WHERE day = '...' AND month = '...';
...将替换为今天的值。

最小User域类
class User {

Date dateOfBirth

...

}

最小UserService
@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

  • 谢谢!

    最佳答案

    您可以在服务中查询时使用:

    @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))
    }

    除了monthday之外,还有其他一些功能,here是文档(查找“其他功能”)

    关于grails - Grails GORM:选择为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29130921/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com