Gostaria de uma ajuda . Quando compilo do código da uma exception dizendo que p é null então não pode chamar get.preco(). esse Produto p = produtoDao.buscarPorId(1l); ele não precisava ser instanciado primeiro antes de chamar esse metodo ?
por que eu preciso fazer EntityManager em = JPAUtil.getEntityManager();
ProdutoDao produtoDao = new ProdutoDao(em);
para começar uma consulta ? Estou com essas dúvidas podem me ajudar .
codigo é esse `public class CadastroDeProdutos {
public static void main(String[] args) {
cadastrarProduto();
EntityManager em = JPAUtil.getEntityManager();
ProdutoDao produtoDao = new ProdutoDao(em);
Produto p = produtoDao.buscarPorId(1l);
System.out.println(p.getPreco());
List<Produto> todos = produtoDao.buscarPorNomeDaCategoria("CELULARES");
todos.forEach(p2 -> System.out.println(p.getNome()));
BigDecimal precoDoProduto = produtoDao.buscarPrecoDoProdutoComNome("Xiaomi Redmi");
System.out.println("Preco do Produto: " + precoDoProduto);
}
private static void cadastrarProduto() {
Categoria celulares = new Categoria("CELULARES");
Produto celular = new Produto("Xiaomi Redmi", "Muito legal", new BigDecimal("800"), celulares);
EntityManager em = JPAUtil.getEntityManager();
ProdutoDao produtoDao = new ProdutoDao(em);
CategoriaDao categoriaDao = new CategoriaDao(em);
em.getTransaction().begin();
categoriaDao.cadastrar(celulares);
produtoDao.cadastrar(celular);
em.getTransaction().commit();
em.close();
}
`