Hibernate: запрос на обновление таблицы не работает - PullRequest
0 голосов
/ 09 июля 2019

У меня есть запрос

     public void saveReportId(BigDecimal reportId) {
               entityManager.createQuery("UPDATE ReportEntity r set r.report_id = reportId WHERE s.phase = :phase")
                       .setParameter("reportId", reportId)
                       .setParameter("phase", ReportStatus.NEW.getValue())
                       .executeUpdate();
      }

Но вместо заполнения таблицы значением reportId, который я передаю в аргументе, у меня появляется ошибка:

Problem compiling - The state field cannot be resolved.

Ответы [ 2 ]

1 голос
/ 09 июля 2019

В вашем запросе именованного параметра вам может быть не хватит следовать правилу, например ... condition= :paramName.Так что, в вашем случае, просто позаботьтесь о параметре reportId.Просто измените свою секунду следующим образом:

entityManager.createQuery("UPDATE ReportEntity r set r.report_id = :reportId WHERE s.phase = :phase")
1 голос
/ 09 июля 2019

Отсутствует :reportId, а также заменить s.phase на r.phase.Просто обновите его:

entityManager.createQuery("update ReportEntity r set r.report_id = :reportId where r.phase = :phase")
                           .setParameter("reportId", reportId)
                           .setParameter("phase", ReportStatus.NEW.getValue())
                           .executeUpdate();

Надеюсь, это поможет:)

...