English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Spring Java에서의 Save와 SaveAndFlush의 차이

Save와 saveAndFlush는 모두 엔티티를 저장할 수 있습니다. 그들은 모두 Spring 데이터베이스에 속합니다. 저장은 즉시 데이터베이스에 변경사항을 기록할 수도 있고, 아니면 가능하지 않을 수 있습니다. saveAndFlush을 호출할 때, 시스템은 모델 상태와 데이터베이스를 강제로 동기화합니다.

순번구조저장 및 갱신
1
데이터베이스
그것은 CrudRepository에 속합니다.
그것은 JPARepository에 속합니다.
2
데이터 갱신 전략
flush와 commit 메서드를 명시적으로 호출하지 않는 한, 그는 데이터를 직접 데이터베이스에 새로 고칠 수 없습니다.
갱신은 데이터를 직접 데이터베이스에 새로 고칩니다.
3
배치 저장
CrudRepository는 배치 저장 메서드를 제공합니다.
saveAndFlush 메서드는 배치 작업을 지원하지 않습니다.
 4
저장된 데이터의可见성
그는 데이터를 직접 데이터베이스에 새로 고칠 수 없기 때문에, 명시적으로 호출하지 않는 한commit()이 트랜잭션에서는 아니라면 변경사항은 트랜잭션 외에 표시되지 않습니다.
변경사항은 트랜잭션 외에도 표시됩니다.
5
용례
이제 동일한 업무에서 저장된 변경사항을 사용하지 않을 때 이 방법을 사용할 수 있습니다.
이후에 같은 트랜잭션에서 저장된 변경 사항을 사용해야 할 때, 이 메서드를 사용할 수 있습니다.