Это хорошая идея для проверок хранилищ в DAO?
Нет, это не так.DAO, как следует из названия, следует использовать только с целью хранения / извлечения объектов из какого-либо источника данных.Большинство проверок являются своего рода бизнес-логикой и, следовательно, не должны принадлежать DAO.
Однако из-за проблем с производительностью иногда допустимо поместить некоторые бизнес-логики в DAO.Это часто случается, когда критерии поиска объекта отражают бизнес-логику.Например, чтобы получить сотрудника ночной смены с наивысшей зарплатой, совершенно неэффективно загружать всех сотрудников в память, а затем применять бизнес-логику, чтобы найти такого сотрудника.Вместо этого мы можем позволить DAO выполнить простой запрос SQL, чтобы сделать это.
Что касается вашего примера проверки электронной почты, да, вы можете поместить эту логику в свой DAO.Но в качестве хорошей практики всегда называйте свои методы DAO, чтобы они отвечали за хранение / извлечение объектов, например: findEmployeeByEmail(String email)
.
Короче говоря, использование логики ведения бизнеса / проверки в DAO иногда приемлемо, но попробуйтесделать его минимальным.