Для обновления с отдельным выбором и обновлением - PullRequest
0 голосов
/ 17 декабря 2018

У меня проблема с запросом for update.У меня есть два метода:

Первый выбирает строки и возвращает карту, содержащую первичный ключ и значение.

public Map<String,String> method1() throws SQLException  {
    String sql = "select * from table where col1='someValue' for update";
    // ... do something and construct map, so map contains {colName, value}
    return map;
}

Второй метод берет карту из первого метода, затем обновляетстрока, основанная на значении карты.

public boolean method2(String pk){
    String sql = "update tableName set value = 1234 where primaryKey = pk";
    // ... execute query and return boolean of if row affected
    return booleanValue;
}

В третьем методе будут выполняться методы 1 и 2.

public void method3(){
    // execute method1, get value from map
    method1();
    // some other operations need to be done here...
    // pass value to method2 and execute
    method(value);
}

Я провел некоторое исследование и обнаружил несколько сообщенийскажем, использование for update не должно открывать транзакцию слишком долго.

У меня вопрос: стоит ли брать select..for update и актуальное обновление отдельно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...