¿Se eliminar (entidad Objeto) Método de EntityManager trabajo sólo en aquellos objetos consiguieron de encontrar el método()?javax.persistence.EntityManager: eliminar() método
Tengo siguiente fragmento de código:
public void deletePerson() {
EntityManager em = getEntityManager();
Person p = new Person("x", "y", 200);
em.remove(p);
}
Pero no es la eliminación de la entrada en particular a partir de la base de datos.
Cuando intenté algo parecido a continuación:
public void deletePerson() {
EntityManager em = getEntityManager();
Person p = em.find(Person.class, 200);
em.remove(p);
}
Está funcionando bien.
Teniendo en cuenta la declaración anterior, es em.remove (em.merge (persona)) - donde la persona se ha recuperado de la base de datos - una forma correcta de eliminar el objeto ? – dendini
@dendini No, si 'persona' se ha recuperado de la base de datos, entonces significa que existe en la base de datos. Entonces, en este caso, puede llamar directamente 'em.remove (persona)'. –
Por lo tanto, necesita SELECCIONAR y ELIMINAR, que son 2 consultas, mientras que puede hacerlo en un único DELETE nativo. ¿Por qué redundante cuando se trata de JPA? – sura2k