Equals e hashcode

Olá! Estou com uma dúvida conceitual.
Tenho um método readDao(tabela) dentro do ObjectDAO (acesso ao banco) que retorna um HashSet chamado resultadoRead com todos os objetos no banco de dados daquela tabela. Tenho também um método insertRule(Object obj) dentro de uma ObjectRule(regra de negócio), que executa um método da ObjectDAO, após fazer a seguinte verificação:

 if (**!resultadoRead.contains(obj)**) {

// executa a inserção do objeto no banco de dados.
 ObjectDAO.insertDAO(obj);
}

Minha dúvida é:
Para o contains funcionar, preciso implemnetar o hashset e o equals no Objeto ou na Classe DAO?
porque na classe DAO, não há atributos, apenas metodos. Os atributos pertencem ao Objeto.

Utilizo herança? outra forma de verificação? Abandono o java porque essa dúvida é muito idiota?

Você implementa o equals e hashCode na classe do objeto que você insere na coleção.
Por exemplo se sua coleção vai receber objetos do tipo X, então na classe X você implementa os métodos equals e hashCode.

Nos links abaixo tenho dicas de como implementar:
http://www.staroski.com.br/2014/10/05/equals-utils/

http://www.staroski.com.br/2014/10/06/hashcode-utils/

http://www.staroski.com.br/2014/10/07/equality-strategy/

Obrigado grande! Dúvida sanada com sucesso!!