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

Unknown database 'loja"

Dei uma olhada nos erros do fórum, mas não encontrei nada assim:

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

Meu CadastroDeProdruto:

package br.com.alura.loja.testes;

import java.math.BigDecimal;

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

import br.com.alura.loja.modelo.Produto;

public class CadastroDeProduto {

    public static void main(String[] args) {
        Produto celular = new Produto();
        celular.setNome("Xiaomi Redmi");
        celular.setDescricao("Muito legal");
        celular.setPreco(new BigDecimal("800"));

        EntityManagerFactory factory = Persistence
                .createEntityManagerFactory("loja");

        EntityManager em = factory.createEntityManager();
        em.getTransaction().begin();
        em.persist(celular);
        em.getTransaction().commit();
        em.close();
    }

}

persistence.xml último que tentei ficou assim:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.2"
    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_2.xsd">

    <persistence-unit name="loja" transaction-type="RESOURCE_LOCAL">

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

            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL8Dialect" />
            <property name="hibernate.show_sql" value="true" />
            <property name="hibernate.hbm2ddl.auto" value="update" />
        </properties>

    </persistence-unit>

</persistence>

2 respostas

Oi Caio,

Unknown database 'loja': No seu MySQL não tem o banco de dados loja criado.

OBS: O Hibernate cria apenas as tabelas, mas não o banco de dados em si.

solução!

Então, só para ficar registrado. Eu usei o comando do MySQL no terminal MySQL 8.0 Command Line Client:

create database loja; Ele criou a database loja.

Depois dei o comando: use loja; Ele entrou na database criada.

Pedi para mostrar os produtos com o comando: select * from Produtos; Ele mostrou o Xiaomi, Não deu mais o erro. Obrigado