Ola galera,
Estou com um problema quando tento procurar um projeto no meu banco, ele me da a seguinte mensagem:
Exception in thread "AWT-EventQueue-0" javax.persistence.PersistenceException: org.hibernate.service.UnknownServiceException: Unknown service requested [org.hibernate.stat.spi.StatisticsImplementor]
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1387)
at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1310)
at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:273)
at test.dao.ProjetoDAO.findAllProject(ProjetoDAO.java:74)
...
Como estou procurando ? Usando um metodo da minha classe ProjetoDAO.class:
[code] public List findAllProject() {
return (List) em.createQuery(“FROM Projeto p”).getResultList();
}[/code]
Minha DataBase.class que uso para criar o entityManager
[code]public class DataBase{
public EntityManager getEntityManager() {
EntityManagerFactory factory = null;
EntityManager entityManager = null;
try {
factory = Persistence.createEntityManagerFactory("teste");
entityManager = factory.createEntityManager();
} finally {
factory.close();
}
return entityManager;
}
}[/code]
Gostaria de saber onde esta o meu erro, ou possivelmente descutir sobre o que eu fiz de errado.
Minha duvida:
1: Toda vez que necessitar de uma pesquisa no banco, o EntityManager efetua uma conexao, até que demorada diga-se de passagem, com o banco, é possivel contornar isso utilizando algum artificio do EntityManager?
Por exemplo, se tenho o codigo:
public class Exemplo {
CasaDAO busca = new CasaDAO (); //Aqui esta o CRUD e minhas funcoes de Busca, contagem, etc
List<Casa> casas = busca.findAllCasas(); //Quando realizo essa operacao, ha uma conexao com o banco
...
//em AcitonListener de um botao de
botao.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
PessoaDAO buscaPessoa = new PessoaDAO();
List<Pessoa> listPessoa = buscaPessoa.findAllPessoa(); //Realiza uma nova conexao
}
});
}
Se juntar todas as conexoes, daria um sistema com varias conexoes para uma unica interface (que é o meu caso), deixando assim a aplicacao mais lenta.
Creio que tenho passado a minha duvida com clareza, qualquer coisa eu tento explicar melhor.
Muito obrigado.