1
resposta

[Dúvida] Melhor maneira de criar os Daos

Duas perguntas:

Você criou uma classe auxiliar como o nome de util. É um padrão normal que as empresas e programadores geralmente usam ? Pois posso criar o EntityManagerFactory na classe Produto Dao ,por exemplo.

E esse fizesse o ProdutoDao conforme abaixo, pois notei que faz toda a estrutura dentro método main para execução. Nesse caso, qual é a melhor maneira de fazer é criar ? É tudo dentro do dao conforme meu exemplo ou criar conforme a aula onde criar o método dao de maneira "genérica" e cria os métodos EntityManager, getTransaction().begin() ?

Exemplo: public class ProdutoDao { private EntityManagerFactory entityManagerFactory; private EntityManager em;

public void ProdutoDao() {
    EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("claus");
}

public void saveProduto(Object entity) {
    em = entityManagerFactory.createEntityManager();
    em.getTransaction().begin();
    em.persist(entity);
    em.getTransaction().commit();
    em.close();

}
1 resposta

Oi Jefferson!

Essa classe JPAUtil utilizada no curso segue o padrão de projeto Factory Method, cujo objetivo é isolar a criação de algum objeto para ser utilizado em vários pontos do projeto.

Do jeito que você fez terá o problema de repetir esse mesmo código em todas as outras classes DAO do projeto, e se precisar mudar algo teria que alterar em todas as classes dao.

Bons estudos!