Прямой спящий нативный запрос работает нормально, но запрос с помощью setParameter не обновляет базу данных postgresql - PullRequest
0 голосов
/ 25 октября 2018

Не работает

    String sql = "UPDATE xsp_job_request SET xsp_job_status_id = 2 , xsp_job_id = :xspJobId WHERE xsp_job_request_id = :xspJobRequestId AND xsp_job_status_id = 1";

 Query query = entityManager.createNativeQuery(sql);
 query.setParameter("xspJobId", jobId);
 query.setParameter("xspJobRequestId", jobRequestId);
 affectedRows = query.executeUpdate();

Работает.Но нужно использовать запрос namedParameter

String sql = "UPDATE xsp_job_request SET xsp_job_status_id = 2 , xsp_job_id = '7884ed98-972a-46c8-ae22-e4f445b4568' WHERE xsp_job_request_id = '8fa2c5e46638ad66016638adab060000' AND xsp_job_status_id = 1";
 Query query = entityManager.createNativeQuery(sql);
 affectedRows = query.executeUpdate();

1 Ответ

0 голосов
/ 25 октября 2018

Вы должны использовать знак присваивания как := двоеточие и равен без пробела между ними.

String sql = "UPDATE xsp_job_request SET xsp_job_status_id = 2, xsp_job_id =:xspJobId WHERE xsp_job_request_id =:xspJobRequestId AND xsp_job_status_id = 1";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...