2012-04-13 2 views

답변

10

이유는 자바 문서에서 분명하다,

개별 될 saveOrUpdate 찬성

또는 병합 사용

당신이 메소드의 구현은 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  } 

이 방법은 덜 사용했다, 당신의 트랜잭션 내에서 할 수 없습니다. 따라서 봄에는 목록을 반복하고 개별 객체를 저장해야합니다.

loadAll() 방법은 유용하고 유용합니다. saveOrUpdateAll()과 비슷하지 않습니다.

귀하의 관찰에 맞춰 deleteAll()saveOrUpdateAll()과 유사하며 일관성이 없으며 다른 하나는 사용되지 않으며 다른 하나는 사용되지 않음에 동의합니다.

+0

감사 마누, 좋은 설명! 나는이 방법이 트랜잭션 내에서 사용될 수 없다는 것을 몰랐다. –

관련 문제