У меня есть таблица рекордов в моей базе данных, у нее есть два значения:
player_id
highest_score
Мне нужен метод репозитория, который сохраняет новый рекорд.Я действительно не хочу испачкать мой код с помощью оптимистичной логики повторных попыток блокировки для чего-то такого простого.То, что я хотел бы выполнить - это, в основном, эта строка:
update high_scores
set highest_score = :new_high_score
where player_id = :player_id
and highest_score <= :new_high_score
Это в основном достигло бы моей цели очень хорошо, хотя мне также пришлось бы беспокоиться о создании высокой оценки, если бы у пользователя ее не было.,Мне нужно убедиться, что я никогда не перезаписываю высокий балл на более низкий балл, но это единственный вид блокировки, который необходим этой таблице.
Есть ли способ попросить hibernate сделать что-то подобное или янужно прибегнуть к пользовательскому SQL?