Поскольку ответ немного отличается от того, что сказал @Axel, использование его для автоматического перехвата всех ваших вызовов доступа к данным и надлежащего применения транзакций является феноменальным.У меня есть мой, настроенный для реализации всех вызовов к моему пакету dao, которые не начинаются с «get» в транзакции, и затем все, что выполняется в методе, начинающемся с «get», обрабатывается только для чтения.Это фантастика, потому что, кроме начальной настройки, мне не нужно об этом беспокоиться, просто следуйте соглашению об именах.