Использование транзакций в некоторой степени зависит от требования.
Очевидно, что использование транзакций для операций UPDATE и DELETE имеет смысл.Использование транзакций в операторах SELECT также может быть полезно, если, например, вам необходимо заблокировать запись так, чтобы другой поток / запрос не изменил чтение.Это обычно было бы деловым требованием.
В нашей компании мы заключаем в себе все операторы (т. Е. SELECT, UPDATE, DELETE) в транзакции.
Кроме того, управление транзакциями действительно лучше подходит для другого уровня в дополнение к уровню данных,Как правило, транзакции соответствуют бизнес-требованиям.Например, если требуется внести деньги на счет, то следует использовать некоторый класс / код более высокого уровня, чтобы пометить весь метод как транзакционный, поскольку этот конкретный метод должен быть завершен как одна единица (поскольку, вероятно, будет несколько баз данных).звонки).
Spring может многое сказать об управлении транзакциями.