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

Erro ao executar TestaConta.java

Ao executar a classe TestaConta está dando um erro. Alguém pode me ajudar?

A classe

package br.com.caelum.financas.teste;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

import br.com.caelum.financas.modelo.Conta;

public class TesteConta {

    public static void main(String[] args) {

        Conta conta = new Conta();
        conta.setTitular("Leonardo");
        conta.setAgencia("123");
        conta.setBanco("Caixa Economica");
        conta.setNumero("456");

        EntityManagerFactory emf = Persistence.createEntityManagerFactory("financas");
        EntityManager em = emf.createEntityManager();

        em.getTransaction().begin();
        em.persist(conta);
        em.getTransaction().commit();

        em.close();
        emf.close();

    }

}

persistence.xml

<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">
    <!-- unidade de persistencia com o nome financas -->
    <persistence-unit name="financas">
        <!-- Implementação do JPA, no nosso caso Hibernate -->
        <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
        <!-- Aqui são listadas todas as entidades -->
        <class>br.com.caelum.financas.modelo.Conta</class>
        <properties>
            <!-- Propriedades JDBC -->
            <property name="javax.persistence.jdbc.driver"
                value="com.mysql.jdbc.Driver" />
            <property name="javax.persistence.jdbc.url"
                value="jdbc:mysql://localhost/financas" />
            <property name="javax.persistence.jdbc.user" value="root" />
            <property name="javax.persistence.jdbc.password" value="root" />
            <!-- Configurações específicas do Hibernate -->
            <property name="hibernate.dialect"
                value="org.hibernate.dialect.MySQL5InnoDBDialect" />
            <property name="hibernate.hbm2ddl.auto" value="update" />
            <property name="hibernate.show_sql" value="true" />
            <property name="hibernate.format_sql" value="true" />
        </properties>
    </persistence-unit>

</persistence>

Console https://gist.github.com/kenniklein/cdcd8d2c34bfa707b56f23ce76844dbf

5 respostas

Qual a versão do mysql ?

A versão é 8.0

O problema é a versão do MySQL? Ainda não consegui resolver...

Kenni, eu chuto que para a versão 8 muda o Driver ou o dialect, tenta usar a mesma versão do curso para ver se vai

solução!

Opa, bom dia Guilherme!

Realmente era a versão do MySQL. Baixei a 5.5, fiz o projeto do zero novamente (estava no início do curso, era pouca coisa) e agora rodou como o instrutor mostrou na aula.

Vi no fórum que muitos tiveram problemas parecidos, e deixei uma sugestão no curso para orientarem a preparação do ambiente para este curso antes das aulas práticas. Eu por exemplo estou seguindo a formação Java e este é o primeiro contato com banco de dados. O instrutor foi criando banco de dados pelo terminal e eu nem tinha o MySQL instalado ainda, pois até o momento não foi necessário. Enfim, apenas poderiam melhorar o início do curso com algumas instruções a mais para seguir suave.

Mas obrigado pela ajuda! Abraço!