如果您使用的是Grails 2.0或更高版本,则可以使用分离的条件来执行此操作:
def colors = Color.withCriteria {
eq "dateCreated", new grails.gorm.DetachedCriteria(Color).build {
projections {
min "dateCreated"
}
}
projections {
property "name"
property "shade"
property "dateCreated"
}
}
DetachedCriteria
该类的显式使用有点丑陋,但还算不错。该查询也可以作为Where查询使用,但是似乎存在一个错误,这意味着您不能对聚合函数使用’==’。修复错误后,您应该可以执行以下操作:
def colors = Color.where {
dateCreated == max(dateCreated)
}.property("name").property("shade").property("dateCreated").list()
请注意,用’<’替换’==’可以正常工作。