Hola! tengo una duda respecto al codigo de la actividad
em.getTransaction().begin();
Producto producto = em.find(Producto.class, 1l);
producto.setDescripcion(“Test 1”);
em.flush();
producto.setDescripcion(“Test 2”);
em.merge(producto);
producto.setDescripcion(“Test 3”);
em.getTransaction().commit();
em.close();
Estaba entre la respuesta La entidad producto se actualizará en la base de datos con la descripción null.
y la respuesta La entidad producto se actualizará en la base de datos con la descripción Teste 3.
mas tiraba hacia la respuesta finalizada en "descripcion null." hasta que lei "se actualizaria", tampoco me convencia del todo la respuesta de "Teste 3" ya que en ningun momento PERSISTE el producto. Cuando lo pruebo en mi aplicacion salta un NullPointerException en la fila justo despues del find dejo mi codigo para que sea mas claro
public static void main(String[] args) {
Categoria celulares = new Categoria("celulares");
Producto samsung = new Producto("Samsung A20S", "Usado, en buen estado", new BigDecimal("200"), celulares);
EntityManager em = JPAUtils.getEntityManager();
CategoriaDAO categoriaDAO = new CategoriaDAO(em);
em.getTransaction().begin();
Producto producto = em.find(Producto.class, 1l);
producto.setDescripcion("Test 1");
em.flush();
producto.setDescripcion("“Test 2”");
em.merge(producto);
producto.setDescripcion("“Test 3”");
em.getTransaction().commit();
em.close();
}
Exception in thread "main" java.lang.NullPointerException at com.latam.alura.tiendaJPA.prueba.RegistroDeProducto.main(RegistroDeProducto.java:10)
Mis preguntas son: ¿El find permite persistir en la base de datos? ¿A que puede deberse el NullPointerException? desde ya les agradezco un monton!