Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
10
respostas

dúvidas utilizando o banco de dados MySQL, não rodou corretamente

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidade

10 respostas

Oi Ulysses,

Tem um errinho no atributo name da sua propriedade:

<property name="javax.persistence.jdbc.drive" value="com.mysql.jdbc.Driver"/>

Ta faltando a letra r na palvra driver. Altere para:

<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>

Olá Rodrigo,

é possível ainda me ajudar, eu não encontro esse erro na tabela - ERROR: Table 'loja_virtual.produtos' doesn't exist

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidade

Agora o problema e na sua propriedade:

<property name="hbm2ddl.auto" value="update"/>

Altere para:

<property name="hibernate.hbm2ddl.auto" value="update"/>

Eu utilizei devido ao erro 1 abaixo, que mesmo utilizando a forma correta o erro aparece.

  1. Error executing DDL "create table produtos (id bigint not null auto_increment, descricao varchar(255), nome varchar(255), preco decimal(19,2), primary key (id)) type=MyISAM" via JDBC Statement

  2. ERROR: Table 'loja_virtual.produtos' doesn't exist

embora com erros, eu recebi as duas respostas Hibernate:

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidade

solução!

Muito estranho esse erro :D

Eu chutaria que o problema é por conta do Dialect.

Altera para:

<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/>

Eu estou tendo um erro semelhante ao do colega acima, porém, o meu nem sequer cria a tabela mesmo usando os mesmos comandos inserindo o banco de dados MySql

Classe persistence está assim Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Classe main cadastroProduto Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Classe store.xml Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Erro do codigo é esse

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Oi Julio,

No seu caso o erro aconteceu porque no seu MySQL nao tem o database store.

O Hibernate cria apenas as tabelas, precisando que o database ja esteja previamente criado.

Bom dia!

Mais isso você não menciona no vídeo professor. Nesse caso aqui então eu preciso criar uma Table chamada store no mysql pra que o Hibernate reconheça que ela existe lá ?

isso resolve o problema?

Fiz isso e aconteceu o erro do colega anterior.

exatamente igual agora.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Detalhe : Não mexi em nada no código só criei a database store no mysql e deu esse erro.

Oi Julio,

Parece que o problema agora é o Dialect do banco que esta incorreto. Altere no seu persistence.xml:

<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect"/>

Caso o seu MySQL seja a versao 8, coloque assim:

<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL8Dialect"/>

E para garantir que tudo vai funcionar certinho com essa nova configuracao, apague o database e crie novamente:

drop database store;
create database store;