Поддержка @Transactional для конкретных классов:
Я предпочитаю разрабатывать решение, как правило, из 3 разделов: API, Реализация и Web (при необходимости).Я стараюсь изо всех сил поддерживать API как можно более легким / простым / POJO, сводя к минимуму зависимости.Это особенно важно, если вы играете в распределенной / интегрированной среде, где вам приходится много делиться API.
Для размещения @Transactional требуются библиотеки Spring в разделе API, что, по-моему, не эффективно.Поэтому я предпочитаю добавить его в реализацию, где выполняется транзакция.