Classe CadastroDeProdutoJava
package br.com.alura.modelo.teste;
import br.com.alura.dao.CategoriaDAO;
import br.com.alura.dao.ProdutoDAO;
import br.com.alura.modelo.Categoria;
import br.com.alura.modelo.loja.Produto;
import util.JPAUtil;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
public class CadastroDeProduto {
public static void main(String[] args) {
Categoria celulares = new Categoria("celulares");
//criando um objeto e setando as informações dele --- da linha 12 até a 15 eu estou simulando um usuario
Produto celular = new Produto("Iphone 14","129 gb",1, celulares);
// a loja_virtual peguei do persistence unit
// EntityManagerFactory factory = Persistence.createEntityManagerFactory("loja_virtual");
// EntityManager em = factory.createEntityManager();
EntityManager em = JPAUtil.getEntityManager();
ProdutoDAO produtoDao = new ProdutoDAO(em);
CategoriaDAO categoriaDAO = new CategoriaDAO(em);
em.getTransaction().begin();
// em.persist(celular); vai deixar de ser essa linha para ser a de baixo
categoriaDAO.cadastrar(celulares);// salvei a categoria primeiro e depois o produtos
produtoDao.cadastrar(celular);
em.getTransaction().commit();
em.close();
}
}
Classe CategoriaDao
package br.com.alura.dao;
import br.com.alura.modelo.Categoria; import br.com.alura.modelo.loja.Produto;
import javax.persistence.EntityManager;
public class CategoriaDAO {
private EntityManager em; // ja com atributo
public CategoriaDAO(EntityManager em){ // construtor
this.em = em;
}
public void cadastrar(Categoria categoria){ // metodo que vai cadastrar um produto utilizando a JPA
this.em.persist(categoria); //
}
}
Classe Categoria