如何在hql中使用date_sub()函数。 对于以下sql查询中的示例: select * FROM performance其中performance_id = 8955和daterangefrom> =(date_sub('2008-12-01 00:00:00',间隔8小时));
我必须在@NamedQuery中写这个,所以我尝试了这个但是没有工作:
@NamedQuery(name = "performance.performanceBySourceId", query = "select p from Performance p where p.source.id = :sourceID and p.dateRangeFrom >= (registerFunction('performance.queryString', new SQLFunctionTemplate(Hibernate.STRING, 'date_add('2008-12-01 00:00:00', INTERVAL 2 hour))) order by p.dateRangeFrom desc' ")
答案 0 :(得分:2)
我遇到了同样的问题,看来hibernate dos不支持DATE_SUB的mysql函数,所以我们必须使用本机sql查询