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

Exception

tive essa exeção:

Exception in thread "main" java.lang.NullPointerException: Cannot invoke "br.com.alura.loja.modelo.Pedido.getDataCadastro()" because "pedido" is null at br.com.alura.loja.teste.PerformanceConsultas.main(PerformanceConsultas.java:24)

Minha classe está abaixo:

package br.com.alura.loja.teste;

import java.math.BigDecimal;
import java.util.List;

import javax.persistence.EntityManager;

import br.com.alura.dao.CategoriaDao;
import br.com.alura.dao.ClienteDao;
import br.com.alura.dao.ProdutoDao;
import br.com.alura.loja.modelo.Categoria;
import br.com.alura.loja.modelo.Cliente;
import br.com.alura.loja.modelo.Pedido;
import br.com.alura.loja.modelo.Produto;
import br.com.alura.loja.util.JPAUtil;

public class PerformanceConsultas {

    public static void main(String[] args) {
        cadastrarProduto();
        EntityManager em = JPAUtil.getEntityManager();
        Pedido pedido = em.find(Pedido.class, 1l);

        System.out.println(pedido.getDataCadastro());


    }

    private static void cadastrarProduto() {
        Categoria celulares = new Categoria("CELULARES");
        Produto celular = new Produto("Xiaomi Redmi", "Muito legal", new BigDecimal("800"), celulares);

        Categoria notebooks = new Categoria("INFORMÁTICA");
        Produto notebook = new Produto("Mac Book", "Rapido", new BigDecimal("18000"), notebooks);

        Categoria games = new Categoria("VIDEO GAME");
        Produto game = new Produto("Play Station 5", "Performance", new BigDecimal("5000"), games);

        Cliente cliente = new Cliente("Thiago da Silva", "045.627.569.00");
        Cliente cliente2 = new Cliente("Kellen da Silva", "192.108.549.04");
        Cliente cliente3 = new Cliente("Arthur da Silva", "123.456.549.10");

        EntityManager em = JPAUtil.getEntityManager();
        ProdutoDao produtoDao = new ProdutoDao(em);
        CategoriaDao categoriaDao = new CategoriaDao(em);
        ClienteDao clienteDao = new ClienteDao(em);

        em.getTransaction().begin();

        categoriaDao.cadastrar(celulares);
        produtoDao.cadastrar(celular);
        clienteDao.cadastrar(cliente);

        categoriaDao.cadastrar(notebooks);
        produtoDao.cadastrar(notebook);
        clienteDao.cadastrar(cliente2);

        categoriaDao.cadastrar(games);
        produtoDao.cadastrar(game);
        clienteDao.cadastrar(cliente3);

        em.getTransaction().commit();
        em.close();
    }

}
2 respostas
solução!

Oi Thiago,

Deu erro porque nessa classe o método main está cadastrando clientes, produtos e categorias, mas não cadastra nenhum pedido e você está tentando carregar o pedido de id = 1 para imprimir a data de cadastro.

Por isso foi retornado null e deu NullPointerException.

Obrigado rodrigo.