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

ERRO NA CLASSE POPULABANCO

Tentei todas as instruções dos outros Fóruns mas nada funcionou. Segue o erro:

Exception in thread "main" java.lang.ExceptionInInitializerError
    at br.com.caelum.livraria.dao.PopulaBanco.main(PopulaBanco.java:17)
Caused by: javax.persistence.PersistenceException: [PersistenceUnit: livraria] Unable to build EntityManagerFactory
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:915)
    at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:890)
    at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:57)
    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
2 respostas

Abaixo, segue a minha configuração do persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
    version="2.0">

    <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://172.17.0.2/livrariadb" />
            <property name="javax.persistence.jdbc.user" value="root" />
            <property name="javax.persistence.jdbc.password" value="123456" />

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

</persistence>
solução!

Consegui resolver mudando a versão do meu conector MySQL pra "mysql-connector-java-8.0.25.jar" e seguindo a orientação a baixo

"Oi Sandra,

Esse erro ocorre porque você está utilizando o Java 9.

Troque para o Java 8 no Eclipse, ou para utilizar o Java 9 você vai precisar fazer algumas configurações adicionais. Aqui tem um post explicando certinho: https://alexandreaquiles.com.br/2017/10/13/sofrencia-com-java-9-cade-meu-jaxb/

Bons estudos!" Fonte: https://cursos.alura.com.br/forum/topico-exception-no-persistence-na-hora-de-rodar-o-populabanco-54028

ATENÇÃO: Depois que mudei a versão do Java, o Tomcat não inicializava mais. Para o Tomcat inicializar, tive que remover o servidor e configurar novamente. Provavelmente deve ter uma forma mais fácil mas eu fiz assim e a aplicação funcionou. Quem souber essa forma mais fácil de atualizar o Tomcat, favor postar a seguir