Есть ли разница между:
Использование весны и спящего режима?
Обычно, если вы аннотируете класс с помощью @Transactional, все методы будут транзакционными. Если вы этого не сделаете, вы можете пометить как @Transactional только те методы, которые вы хотите. Кроме того, вы можете указать различные атрибуты для каждого метода, например isolation, propagation, timeout, ...
@Transactional
isolation
propagation
timeout
Кроме того, взгляните на этот вопрос, его возможный дубликат: Аннотации транзакций Hibernate в источнике - разница между использованием класса и уровня метода?