Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

JPA Hibernate Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager

Eu não costumo usar o forum para qualquer dúvida. Apenas aquelas que já procurei resolver por todos os meios e todas as pesquisas na internet por problemas semelhantes mas essa tá difícil demais! Por favor, ajudem.

Eu terminei o curso de JPA e o projeto rodou perfeitamente e até criou o banco sozinho etc etc.

Porém tenho outro projeto para estudar melhor que já tenho funcionando em JDBC e agora fiz outro projeto igual só que para rodar em JPA/Hibernate. Segui o mesmo modelo do persistence, coloquei todos os .jar atualizados mas não consigo identificar o problema.

Ele chega a criar o schema no mysqldb com o nome clinicahibernate mas nem cria as tabelas nem nada e dá o seguinte erro: Exception in thread "main" javax.persistence.PersistenceException: No Persistence provider for EntityManager named clinicahibernate

O persistence.xml que está no lugar correto no META_INF dentro do src seguem o log do console e o persistence.xml: https://gist.github.com/liutaio/c1fdedb4fdc84ecd466e2ba5171859a2

3 respostas
solução!

A quem possa interessar acho que descobri o erro. Deixo registrado para que quem sabe possa servir a outros. Tive que ir acrescentando as anotações JPA uma por num novo projeto para ver qual disparava o erro pois ele não deixa claro. Estava usando um campo de LocalDateTime e tentando passar com anotação @Temporal mas o Hibernate é anterior ao JavaTime do 8(deveriam consertar isso né???!!!) portanto vc deve ter uma classe de conversão LocalDateAttributeConverter implementando AttributeConverter.

Oi Alex,

Nas novas versões do Hibernate ele já suporta nativo os atributos do tipo LocalDate, LocalDateTime, etc., sem que você precise criar o converter manualmente.

Bons estudos!

Verdade, descobri que no 2.2 já aceita mas também é bem simples escrever a classe conversora e fica transparente. o maior problema pra mim é rastrear o erro pois vários tipos de erros de anotação disparam o mesmo log ao que me parece...