Как обновить столбец таблицы с существующим значением, используя критерии?

#java #hibernate #sql-update #criteria

#java #спящий режим #sql-обновление #критерии

Вопрос:

Я использую DB2. Я хочу заблокировать таблицу, используя Select для обновления. Но в любом случае моя БД не блокирует запрос с помощью Select для обновления. Мне необходимо выполнить запрос обновления в выбранной строке, чтобы обновить то же самое. Следующим будет мой запрос HQL для того же:

 query.append("UPDATE IfmsFundMst set finyearId = finyearId ");
Query existingQuery = this.getSession().createQuery(query.toString());
int result = existingQuery.executeUpdate();
  

Теперь проблема в том, что я хочу установить режим блокировки UPGRADE_NOWAIT с использованием критериев. Итак, мне необходимо обновить ту же строку с существующим значением, используя критерии. Пожалуйста, предложите какой-нибудь способ сделать это.

Ответ №1:

Это просто.

Я только что использовал метод setLockMode самого запроса HQL:

 existingQuery.setLockMode("alias", LockMode.UPGRADE_NOWAIT);