Dentro del metodo guardar de las clases dao quedo mal el nombre, debio ser guardar y el metodo quedo con el nombre cadastrar
Dentro del metodo guardar de las clases dao quedo mal el nombre, debio ser guardar y el metodo quedo con el nombre cadastrar
Hola Ligia,
En lugar de "cadastrar", deberían ser "guardar":
public class ProductoDao {
private EntityManager em;
public ProductoDao(EntityManager em) {
this.em = em;
}
public void guardar(Producto producto) {
this.em.persist(producto);
}
}
public class CategoriaDao{
private EntityManager em;
public CategoriaDao(EntityManager em) {
this.em = em;
}
public void guardar(Categoria categoria) {
this.em.persist(categoria);
}
}
Y en tu clase main, debes cambiar "guardar" en lugar de "cadastrar":
public class RegistroDeProducto {
public static void main(String[] args) {
Categoria celulares = new Categoria("CELULARES");
Producto celular = new Producto("Xiaomi Redmi", "Muy bueno", new BigDecimal("800"), celulares);
EntityManager em = JPAUtils.getEntityManager();
ProductoDao productoDao = new ProductoDao(em);
CategoriaDao categoriaDao = new CategoriaDao(em);
em.getTransaction().begin();
categoriaDao.guardar(celulares);
productoDao.guardar(celular);
em.getTransaction().commit();
em.close();
}
}
Espero que resuelva tu problema. Recuerda que los nombres de los métodos deben ser coherentes con las operaciones que realizan para evitar confusiones.
Espero haber ayudado y buenos estudios! Mucho éxito en todo lo que te propongas y si tienes alguna duda aquí estaremos para apoyarte.
¡Vamos juntos!