Действительно, типичные DAO очень похожи на то, что вы описываете, и есть библиотеки, которые помогают вам избегать создания похожих методов, отличающихся только типом (если вы реализуете DAO с помощью ORM, ищите genericDAOs ).
Такие фреймворки, как, например, Spring-Data-JPA, позволяют сосредоточиться на необычных методах запроса объектов по другим критериям.
findByName(String: name): List
findByDay (Date: d1, Date d1): List
Перемещение этих методов к объектам сущности - это шаблон, который предпочитают некоторые люди, но именновозможность определять общий DAO и наследовать от него была бы причиной оставить эти методы в разных классах.
Итак, я не ошибаюсь, что вы не правы в своем понимании DAO.