mysql - 第 1 行附近的间隔 : Caused by: org. hibernate.hql.internal.ast.QuerySyntaxException

标签 mysql sql hibernate date jpa

Caused by: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: INTERVAL near

这是我的查询:

 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 天以上的记录。

最佳答案

您可以通过查询参数(current_date- 30)计算当前日期

private static final String USERS_NOT_ACTION_IN_LAST_MONTH = select u from myTable u where u.lastDate <= :calculated_date;

其中计算日期=当前日期 -30 天。

关于mysql - 第 1 行附近的间隔 : Caused by: org. hibernate.hql.internal.ast.QuerySyntaxException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60164168/

相关文章:

java - ORA-00932 : inconsistent datatypes: expected DATE got BINARY in Hibernate

mysql - MySQL中的索引会相互干扰吗?

mysql - 语法错误: missing 'closing parenthesis' with indexed fields

php - 从 Eclipse Android 模拟器访问本地 MySQL 数据库

sql - Hive 查询在 group by 期间根据另一列选择一列

java - hibernate 嵌套异常

java - Spring boot 测试 - 使用 2 个数据库时 EntityManager 不持久

java - @Column 中 nullable=true 的 Hibernate 处理

sql - 带有 OUTPUT 参数的 T-SQL 存储过程出错

mysql - SQL 表锁定竞争条件 - SELECT 然后 INSERT