我现在使用Grails 3.3和GORM CriteriaBuilder进行大部分查询,但我仍然坚持如何在属性上调用函数 - 例如,在Date属性上调用hour()函数。如果我在DetachedCriteria的地方使用,我可以这样:
def whereQuery = Student.where {
hour(registration) = 15
}
找到所有在15:00到15:59之间注册的学生。
但是,如果我使用CriteriaBuilder,我不能这样做:
def c = Student.createCriteria()
def results = c.list {
eq 'hour(registration)', 15
}
有没有办法在构建器DSL中实现这一目标?我知道我可以回到域类并定义一个从日期字段中提取小时的映射,但这看起来很笨拙。
答案 0 :(得分:1)
尝试<div class="flex">
<img src="http://placehold.it/100" />
<div class="top">
<p>
Stuff
</p>
</div>
<div class="bottom">
<p>
More Stuff
</p>
</div>
</div>
:
sqlRestriction
请参阅http://gorm.grails.org/latest/hibernate/manual/index.html#criteria
中的def results = Student.withCriteria {
sqlRestriction 'hour(registration) = 15'
}