SOLUÇÃO- Erro: No Persistence provider for EntityManager named
11 respostas
A
aprendizweb
Bom dia!!
Estudando uns exemplos de JPA, percebi que muitos desenvolvedores iniciantes se deparam com um erro comum que já foi postado varias vezes aqui no GUJ, porém sem uma solução coerente:
Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named livraria
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:32)
at GeraTabelas.main(GeraTabelas.java:7)
ou seja, o erro informa que não existem Nenhum provedor de persistência para EntityManager chamado livraria, isso ocorre na maioria das vezes devido o arquivo persistence.xml
está no local errado, ou seja, em Projeto–>WebContent–>META-INF–>persistence.xml , quando na verdade deveria esta em src–>META-INF–>persistence.xml,
Então se não existir, cria-se uma pasta META-INF em src e adiciona o persistence.xml. Abaixo esta uma imagem de como fica a estrutura do projeto. Pronto espero ter ajudado!!!
No arquivo de persistencia tem o nome dele, que no caso do exemplo é "livraria" (E na criação da EntityManagerFactory deve colocar no nome do meu arquivo de persistencia, que no caso seria
com isso da certo se voce colocar qual que outro nome ele não vai encontrar o arquivo[code]
A
alexandrenilton
ok… Uma das minhas dificuldades foram sanadas! Thanks!
Agora uma outra dúvida.
Porque alguns usam o persistence.xml e outros usam o hibernate.cfg.xml?
Qual a diferença entre os dois?
Alguns tutoriais que peguei, está como "persistence.xml"
Em outros (da propria Jboss) está como hibernate.cfg.xml…
Isso é de acordo com a versão? Ou coisa do tipo? :roll:
H
Hebert_Coelho
alexandrenilton:
ok… Uma das minhas dificuldades foram sanadas! Thanks!
Agora uma outra dúvida.
Porque alguns usam o persistence.xml e outros usam o hibernate.cfg.xml?
Qual a diferença entre os dois?
Alguns tutoriais que peguei, está como "persistence.xml"
Em outros (da propria Jboss) está como hibernate.cfg.xml…
Isso é de acordo com a versão? Ou coisa do tipo? :roll:
persistence.xml é quando é usado o a API do jpa como base e algum provider. Provider é quem implementa a API do JPA: Hibernate, EclipseLink, Batoo e assim vai.
Ao utilizar hibernate.cfg.xml você estará utilizando apenas o Hibernate e não seria de fácil portabilidade. Nesses caso são onde utilizam as APIs próprias do Hibernate como Session, Criteria e assim vai.
M
MarcolaLipe10
Estou fazendo o msmo tutorial e tbm não estou conseguindo ....