导致错误的原因:org. hib. hql.internal.ast.查询语法异常:意外标记:间期接近
下面是我的疑问:
private static final String USERS_NOT_ACTION_IN_LAST_MONTH = select u from myTable u where u.lastDate + INTERVAL 30 DAY <= CURDATE();
@Override
public List<MyEntity> getItemOlderThanMonth() {
Query q = _entityManager.createQuery(USERS_NOT_ACTION_IN_LAST_MONTH, MyEntity.class);
return q.getResultList();
}
我想获取超过30天的记录。
3条答案
按热度按时间wlzqhblo1#
可以通过查询参数(current_date- 30)计算当前日期
其中,计算日期=当前日期-30天。
chy5wohz2#
通过使用_entityManager.createQuery创建了hibsql(hql)脚本,并且hib没有INTERVAL关键字。
但是createNativeQuery是原生SQL,行为和普通SQL脚本一样。所以对于mysql,db INTERVAL关键字应该可以工作。所以smth是这样的
vwkv1x7d3#
@ARPAN CHAKARVARTY的回答帮助我找到了我需要的东西。下面是我的Groovy代码。