2012-04-13 6 views

Respuesta

10

La razón es evidente a partir de los documentos de Java,

a favor de saveOrUpdate individuales o combinar el uso

Como se puede ver la puesta en práctica del método, el código tomado de la link,

public void saveOrUpdateAll(final Collection entities) throws DataAccessException { 
768   executeWithNativeSession(new HibernateCallback() { 
769    public Object doInHibernate(Session session) throws HibernateException { 
770     checkWriteOperationAllowed(session); 
771     for (Iterator it = entities.iterator(); it.hasNext();) { 
772      session.saveOrUpdate(it.next()); 
773     } 
774     return null; 
775    } 
776   }); 
777  } 

Este método fue menos utilizada, no puede estar dentro de su transacción. Entonces, la primavera quiere iterar la lista y guardar los objetos individuales.

El método loadAll() es diferente y útil. No es similar al saveOrUpdateAll().

Tiene razón con sus observaciones de que deleteAll() es similar a saveOrUpdateAll() y acepto que es inconsistente, una está obsoleta y la otra no.

+0

Gracias Manu, buena explicación! No sabía que este método no puede usarse dentro de la transacción. –

Cuestiones relacionadas