Я хочу обновить несколько строк в таблице на основе ArrayList<>
ниже в одном вызове БД с использованием Spring JPA.
CREATE TABLE phoneStatus (Status VARCHAR(1000) NOT NULL, Phone VARCHAR(100) NOT NULL)
[
{
"status": "Green",
"phone": "2099028090"
},
{
"status": "Red",
"phone": "3099036070"
}
]
Запрос метода - UPDATE phoneStatus SET status=?1 WHERE phone=?2
Операция - list.foreach(object -> repo.method(x.getStatus(), x.getPhone());
Это приводит к снижению производительности из-за нескольких БДобновления (~ 150).
PS : Пожалуйста, исправьте мою формулировку / вопрос, если я допустил ошибку.
РЕДАКТИРОВАТЬ
Для тех, кто спрашивает, как проходит транзакцияразмещено в БД, ниже приведена ссылка на Spring JPA.
@Transactional
@Modifying
@Query(value = "UPDATE phoneStatus SET status=?1 WHERE phone=?2", nativeQuery = true)
void updatePhoneStatus(String status, String phone);