Classe Categoria
:
package br.com.alura.loja.modelo;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "categorias")
public class Categoria {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String nome;
public Categoria(String nome) {
this.nome = nome;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
Classe CategoriaDAO
:
package br.com.alura.loja.dao;
import br.com.alura.loja.modelo.Categoria;
import javax.persistence.EntityManager;
public class CategoriaDAO {
private EntityManager em;
public CategoriaDAO(EntityManager em) {
this.em = em;
}
public void cadastrar(Categoria categoria) {
this.em.persist(categoria);
}
}
Classe CadastroDeProdutos
:
import br.com.alura.loja.dao.CategoriaDAO;
import br.com.alura.loja.dao.ProdutoDAO;
import br.com.alura.loja.modelo.Categoria;
import br.com.alura.loja.modelo.Produto;
import br.com.alura.loja.util.JPAUtil;
import java.math.BigDecimal;
import javax.persistence.EntityManager;
public class CadastroDeProdutos {
public static void main(String[] args) {
Categoria celulares = new Categoria("CELULARES");
Produto celular = new Produto(
"Xiaomi Redmi", "Muito legal",
new BigDecimal("800"), celulares);
celular.setNome("Xiaomi Redmi");
celular.setDescricao("Muito legal");
celular.setPreco(new BigDecimal("800"));
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();
}
}
Log: