1
resposta

Erro ao fazer o persist na Classe "CadastroDeProdutos"

Estou acompanhando a aula e quando o Professor ensina como fazer a Inserção (persist) na Classe Produtos, através do Classe "CadastroDeProdutos", utilizando o seguinte código:

package br.com.alura.lojaalura.testes;

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

import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; import java.math.BigDecimal;

public class CadastroDeProdutos { public static void main(String[] args) { Produto celular = new Produto(); celular.setNome("Xaomi"); celular.setDescricao("Legal"); celular.setPreco(new BigDecimal("800"));

    EntityManagerFactory factory = Persistence.createEntityManagerFactory("lojaalura");
    EntityManager em = factory.createEntityManager();
    em.getTransaction().begin();
    em.persist(celular);
    em.getTransaction().commit();
    em.close();

}

}

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira 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 acessibilidadeO meu arquivo persistence está configurado da seguinte forma:

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeMeu aruivo pom.xml está configurado da seguinte forma:

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

1 resposta

Olá, Wolmer! Tudo bem?

O erro "No suitable driver found for jdbc:h2:mem:lojaalura" indica que o Hibernate não conseguiu encontrar o driver adequado para estabelecer a conexão com o banco de dados em memória.

E analisando os prints que você compartilhou, pude notar que no seu arquivo "persistence.xml" você esqueceu de adicionar a property referente ao drive, logo, para resolver isso, você deve garantir que o driver do H2 esteja disponível, adicionando a seguinte property:

<property name="javax.persistence.jdbc.driver" value="org.h2.Driver"/>

Lembre-se de adicioná-la antes de qualquer outra property, para ser a primeira a ser carregada e não causando mais nenhum problema ou conflito referente ao driver.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

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