В этом есть определенное мнение, но настоящий «сервисный» метод должен быть атомарной единицей работы.Если они создают сеть взаимозависимости, вызывающую друг друга вперед и назад, очевидно, что вызовы не выполняют элементарных задач.Я не вижу ничего плохого в том, чтобы позволить "службе" использовать все необходимые ей DAO.Создав набор методов «service» -CRUD, абстрагирующих DAO, который уже является набором методов CRUD, который сам по себе, вероятно, абстрагирует абстракцию JPA, вы можете увидеть, как это может быть слишком много уровней нефункциональной абстракции.
Этот подход иногда приводит вас к созданию общих «бизнес-компонентов», которые находятся в домене, а не в службе, которую совместно используют несколько служб.Это нормально.
(Можете ли вы сказать, что лично я считаю, что JPA устарела вся идея DAO, и мы должны просто использовать EntityManager в сервисе? :))