ИНТЕРВАЛ возле строки 1: вызвано: org.hibernate.hql.internal.ast.QuerySyntaxException - PullRequest
0 голосов
/ 11 февраля 2020

Вызвано: org.hibernate.hql.internal.ast.QuerySyntaxException: неожиданный токен: INTERVAL вблизи

Вот мой запрос:

    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();
    }

I хочу получать записи старше 30 дней.

1 Ответ

1 голос
/ 11 февраля 2020

Вы можете рассчитать текущую дату по параметру запроса (current_date- 30)

личное состояние c final String USERS_NOT_ACTION_IN_LAST_MONTH = выберите u из myTable u, где u.lastDate <=: рассчитано_дата; </p>

где рассчитана_дата = текущая_дата -30 дней.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...