我正在尝试将findAll
与mysql的查询字符串一起使用。相同的查询从mysql工作台可以正常工作。非常感谢任何指针,谢谢。
//find all subscriptions expiring 7 days from now
Subscription.findAll("from subscription where expires=date_add(CURDATE(), INTERVAL 7 DAY)")
错误:
Invalid query [from subscription where expires=date_add(CURDATE(), INTERVAL 7 DAY)] for domain class
答案 0 :(得分:1)
它不起作用,因为findAll
取代HQL而不是纯SQL。
有很多方法可以编写查询。 findAllBy
和TimeCategory
应该完成这项工作:
import groovy.time.TimeCategory
use( TimeCategory ) {
Subscription.findAllByExpires(7.days.from.now)
}
我假设Subscription
域类具有属性expires
。