Pessoal, bom dia! Tentei inserir dois novos produtos, mas estou com um problema: toda vez que cadastro novos produtos eles são cadastrados com ID fora sequencia. No código abaixo o produto Xiaomi Redmi foi cadastrado com ID 2, o produto PS5 foi cadastrado com ID 5, e o produto Macbook foi cadastrado com ID 7. Copiei o código de Produto.java apenas, mas se for necessario outros trechos/arquivos, eu atualizo o post. Obrigado!
private static void cadastrarProduto() {
Categoria celulares = new Categoria("CELULARES");
Categoria videogames = new Categoria("VIDEOGAMES");
Categoria informatica = new Categoria("INFORMATICA");
Produto celular = new Produto("Xiaomi Redmi","Muito legal", new BigDecimal("800"), celulares);
Produto videogame = new Produto("PS5","PlayStation 5", new BigDecimal("900"), videogames);
Produto macbook = new Produto("Macbook","Macbook pro reti", new BigDecimal("700"), informatica);
Cliente cliente = new Cliente("Rodrigo","123456");
EntityManager em = JPAUtil.getEntityManager();
ProdutoDAO prodDAO = new ProdutoDAO(em);
CategoriaDAO categDAO = new CategoriaDAO(em);
ClienteDAO clienteDao = new ClienteDAO(em);
em.getTransaction().begin();
categDAO.cadastrar(celulares);
prodDAO.cadastrar(celular);
clienteDao.cadastrar(cliente);
categDAO.cadastrar(videogames);
prodDAO.cadastrar(videogame);
categDAO.cadastrar(informatica);
prodDAO.cadastrar(macbook);
em.getTransaction().commit();
em.close();
}
//Produto
@Entity
@Table(name = "produtos")
public class Produto {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private Long id;
private String nome;
@Column(name = "desc")
private String descricao;
private BigDecimal preco;
private LocalDate dataCadastro = LocalDate.now();
@ManyToOne
private Categoria categoria;
public Produto() {
}
public Produto(String nome, String descricao, BigDecimal preco, Categoria categoria) {
super();
this.nome = nome;
this.descricao = descricao;
this.preco = preco;
this.categoria = categoria;
}
public LocalDate getDataCadastro() {
return dataCadastro;
}
public void setDataCadastro(LocalDate dataCadastro) {
this.dataCadastro = dataCadastro;
}
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;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public BigDecimal getPreco() {
return this.preco;
}
public void setPreco(BigDecimal preco) {
this.preco = preco;
}
public Categoria getCategoria() {
return categoria;
}
public void setCategoria(Categoria categoria) {
this.categoria = categoria;
}
}