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

Dúvidas sobre erro na hora da execução do arquivo PopulaBanco

Bom dia a todos,

Estou seguindo a terceira aula do curso e estou tentando popular os dados em meu banco, através da execução do arquivo "PopulaBanco", porem tenho recebido a seguinte mensagem de erro, quando executo o arquivo:

fev 21, 2016 9:55:53 AM org.hibernate.ejb.HibernatePersistence logDeprecation
WARN: HHH015016: Encountered a deprecated javax.persistence.spi.PersistenceProvider [org.hibernate.ejb.HibernatePersistence]; use [org.hibernate.jpa.HibernatePersistenceProvider] instead.
fev 21, 2016 9:55:53 AM org.hibernate.ejb.HibernatePersistence logDeprecation
WARN: HHH015016: Encountered a deprecated javax.persistence.spi.PersistenceProvider [org.hibernate.ejb.HibernatePersistence]; use [org.hibernate.jpa.HibernatePersistenceProvider] instead.
fev 21, 2016 9:55:53 AM org.hibernate.ejb.HibernatePersistence logDeprecation
WARN: HHH015016: Encountered a deprecated javax.persistence.spi.PersistenceProvider [org.hibernate.ejb.HibernatePersistence]; use [org.hibernate.jpa.HibernatePersistenceProvider] instead.
fev 21, 2016 9:55:53 AM org.hibernate.jpa.boot.internal.PersistenceXmlParser doResolve
INFO: HHH000318: Could not find any META-INF/persistence.xml file in the classpath
fev 21, 2016 9:55:53 AM org.hibernate.jpa.boot.internal.PersistenceXmlParser doResolve
INFO: HHH000318: Could not find any META-INF/persistence.xml file in the classpath
fev 21, 2016 9:55:53 AM org.hibernate.jpa.boot.internal.PersistenceXmlParser doResolve
INFO: HHH000318: Could not find any META-INF/persistence.xml file in the classpath
Exception in thread "main" java.lang.ExceptionInInitializerError
    at br.com.caelum.livraria.dao.PopulaBanco.main(PopulaBanco.java:16)
Caused by: javax.persistence.PersistenceException: No Persistence provider for EntityManager named livraria
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:61)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:39)
    at br.com.caelum.livraria.dao.JPAUtil.<clinit>(JPAUtil.java:11)
    ... 1 more
Java Result: 1

O meu arquivo Persistence.xml segue como base o próprio arquivo do curso, contendo o seguinte conteúdo:

<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">

    <persistence-unit name="livraria" transaction-type="RESOURCE_LOCAL">
        <provider>org.hibernate.ejb.HibernatePersistence</provider>

        <class>br.com.caelum.livraria.modelo.Livro</class>
        <class>br.com.caelum.livraria.modelo.Autor</class>

        <properties>
            <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver" />
            <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost/livrariadb" />
            <property name="javax.persistence.jdbc.user" value="root" />
            <property name="javax.persistence.jdbc.password" value="" />

            <property name="hibernate.hbm2ddl.auto" value="update" /><!-- create -->
            <property name="hibernate.show_sql" value="true" />
            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect" />
        </properties>
    </persistence-unit>
</persistence>

Lembrando que não estou utilizando o Eclipse nos exercicios e sim o Netbeans.

Desde já agradeço por qualquer ajuda.

7 respostas

Olá Bruno! Você adicionou as Bibliotecas corretamente em seu projeto?

Bom dia Romário,

Então, adicionei sim, porem, não sei se teria alguma coisa haver, estou trabalhando com a IDE Netbeans e na mesma eu tive que criar o arquivo Persistence manualmente, o qual copiei as informações repassadas na aula, porem o problema ainda persiste....

Veja bem Bruno, não ha problema em utilizar uma outra IDE, eu utilizo JPA no NetBeans e funciona normalmente. No entanto veja que está dando o seguinte erro na sua execução: Could not find any META-INF/persistence.xml Em qual pasta você colocou o persistence.xml? a pasta META-INF, contendo o persistence.xml, deve ficar dentro da pasta src de seu projeto.

Boa noite Romário,

Rapaz estou quase começando essa aplicação do zero novamente pra ver se consigo fazer isso funcionar, rs, desculpe mas ainda não havia usado o Hibernate, então estou batendo muito a cabeça pra tentar resolver esse problema. Então, sobre a questão da pasta META-INF, realmente ela estava na posição errada, já fiz a correção e a mensagem mudou por diversas vezes, já inserir diversos outros jars para corrigir outros erros que foram surgindo, até chegar agora nessa atual mensagem.

fev 22, 2016 10:04:50 PM org.hibernate.annotations.common.Version <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.1.Final}
fev 22, 2016 10:04:50 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.1.8.Final}
fev 22, 2016 10:04:50 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
fev 22, 2016 10:04:50 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
Exception in thread "main" java.lang.ExceptionInInitializerError
    at br.com.caelum.livraria.dao.PopulaBanco.main(PopulaBanco.java:16)
Caused by: javax.persistence.PersistenceException: Invalid persistence.xml.
Error parsing XML (line-1 : column -1): cvc-elt.1: Não pode localizar a declaração do elemento 'persistence'.

    at org.hibernate.ejb.packaging.PersistenceXmlLoader.loadURL(PersistenceXmlLoader.java:147)
    at org.hibernate.ejb.packaging.PersistenceXmlLoader.deploy(PersistenceXmlLoader.java:171)
    at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:324)
    at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:56)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:63)
    at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47)
    at br.com.caelum.livraria.dao.JPAUtil.<clinit>(JPAUtil.java:10)
    ... 1 more
Java Result: 1

Desde já agradeço pela ajuda.

Bruno, tem algo errado com a execução de seu persistence.xml verifique se ele está correto. Veja que é dado uma mensagem também que não são encontradas as propiedades:

INFO: HHH000206: hibernate.properties not found

Ola Romário,

Então, peguei pra mexer no Eclipse em conjunto com o NetBeans e como ele consegui rodar todos os exercícios da aula sem problemas.... To chateado porque estava querendo trabalhar com o Netbeans, por achar ele mais completo. Se você ainda puder me dar uma luz, vou ficar grato demais. O erro que está ocorrendo agora é o seguinte:

mar 06, 2016 10:54:46 AM org.hibernate.annotations.common.Version INFO: HCANN000001: Hibernate Commons Annotations {4.0.1.Final} mar 06, 2016 10:54:46 AM org.hibernate.Version logVersion INFO: HHH000412: Hibernate Core {4.1.8.Final} mar 06, 2016 10:54:46 AM org.hibernate.cfg.Environment INFO: HHH000206: hibernate.properties not found mar 06, 2016 10:54:46 AM org.hibernate.cfg.Environment buildBytecodeProvider INFO: HHH000021: Bytecode provider name : javassist Exception in thread "main" java.lang.ExceptionInInitializerError at br.com.caelum.livraria.dao.PopulaBanco.main(PopulaBanco.java:17) Caused by: javax.persistence.PersistenceException: Invalid persistence.xml. Error parsing XML (line-1 : column -1): cvc-elt.1: Não pode localizar a declaração do elemento 'persistence'.

at org.hibernate.ejb.packaging.PersistenceXmlLoader.loadURL(PersistenceXmlLoader.java:147) at org.hibernate.ejb.packaging.PersistenceXmlLoader.deploy(PersistenceXmlLoader.java:171) at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:324) at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:56) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:63) at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:47) at br.com.caelum.livraria.dao.JPAUtil.(JPAUtil.java:10) ... 1 more C:\Users\ALLINONE\AppData\Local\NetBeans\Cache\8.1\executor-snippets\run.xml:53: Java returned: 1 FALHA NA CONSTRUÇÃO (tempo total: 1 segundo)

Criei a pasta "META-INF" pois ela não foi criada por padrão e o arquivo Persistence.xml foi movido pra ela, tentei também na pasta "Arquivos de configuração" do Netbeans, porem em ambas situações a mesma mensagem ocorre.... Tentei achar também no próprio site do Netbeans onde esse arquivo tem que ficar, porem nada muito claro...

Obrigado desde já.

solução!

Problema resolvido, obrigado a todos.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software