#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);