Запросы на обновление / удаление нельзя набирать на - PullRequest
0 голосов
/ 16 июня 2019

Я хочу выполнить этот запрос:

        @Override
        public int deleteOldLogByDate(LocalDateTime created_at) throws Exception {

            String hql = "delete from " + Log.class.getName() + " e where e.created_at <= :created_at";
            TypedQuery<Log> query = entityManager.createQuery(hql, Log.class).setParameter("created_at", created_at);
            int records = query.executeUpdate();
            return records;
        }

Но я получаю исключение: java.lang.IllegalArgumentException: Update/delete queries cannot be typed at

Знаете ли вы, как я могу решить эту проблему?

1 Ответ

1 голос
/ 16 июня 2019

Массовые запросы, такие как обновление и удаление, не могут использоваться в TypedQuery (как говорится в ошибке).

Вы должны использовать:

    @Override
    public int deleteOldLogByDate(LocalDateTime created_at) throws Exception {

        String hql = "delete from " + Log.class.getName() + " e where e.created_at <= :created_at";
        Query query = entityManager.createQuery(hql).setParameter("created_at", created_at);
        int records = query.executeUpdate();
        return records;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...