我正在尝试获取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来做别名(选择字段作为别名)?
我正在使用的:
,谢谢!
发布于 2015-03-19 15:05:07
您可以在服务中使用where查询:
@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和day还有其他一些函数,这里是文档(查找“其他函数”)
发布于 2021-07-12 12:06:02
有什么想法吗?我怎么才能用GORM来做别名(选择字段作为别名)?
(SELECT field AS _alias)将下划线(_)作为前缀添加到别名,使用grails-2.5.6为我工作
我没有在文档中找到它,而是使用了跟踪和错误方法。
https://stackoverflow.com/questions/29130921
复制相似问题