Por exemplo, não vejo sentido e chamar pedidoDAO pra fazer uma busca por algum pedido ja instanciado. Não seria melhor ter classes DAO pra cada pesquisa que eu quero fazer?
Por exemplo, não vejo sentido e chamar pedidoDAO pra fazer uma busca por algum pedido ja instanciado. Não seria melhor ter classes DAO pra cada pesquisa que eu quero fazer?
Olá Duartepedropt, tudo bem?
Entendo sua dúvida sobre a criação de classes DAO para cada pesquisa que deseja fazer. Na verdade, não é necessário criar uma classe DAO para cada pesquisa que você deseja realizar. O objetivo da classe DAO é abstrair a lógica de acesso aos dados, ou seja, ela deve ser responsável por realizar as operações de CRUD (create, read, update e delete) em um objeto de uma determinada entidade.
Dessa forma, é possível utilizar a mesma classe DAO para realizar diferentes tipos de consultas, utilizando os recursos disponíveis no JPA, como por exemplo, o método find() que permite buscar um objeto pelo seu ID ou o método createQuery() que permite criar consultas mais complexas utilizando a linguagem JPQL.
Caso você tenha uma consulta muito específica que não pode ser realizada utilizando os recursos do JPA, é possível criar uma nova classe DAO para essa consulta em particular. No entanto, é importante lembrar que a criação de muitas classes DAO pode tornar o código mais complexo e difícil de manter.
Espero ter ajudado e bons estudos!