Можно начать с размышления о том, что такое DAO.
Если вы используете JPA, то менеджер entiy уже является общим DAO (по DAO Pattern). То, что большинство разработчиков Java EE называют DAO, не DAO by DAO Pattern. Это своего рода рефакторинг: перенести операторы, связанные с базой данных, во внешний класс (и я думаю, что это тот тип DAO, о котором вы говорите) Не поймите меня неправильно, я думаю, это полезно.
Так что мое понимание этого DAO - это некий рефакторинг. И главная цель рефакторинга - сделать код более читабельным, поддерживаемым. Поэтому, если ваш код улучшается с этим косвенным указанием, продолжайте, но вам следует документально подтвердить, что ваш проект DAO-Pattern немного отличается от шаблона DAO, используемого другими разработчиками Java EE.