반응형
Spring 데이터 JPA에서 save와 saveAndFlush의 차이점
통해 CRUD 작업을 테스트하여 스프링 데이터 JPA를 배우려고합니다 JpaRepository.
나는 두 가지 방법 save을 발견했다 saveAndFlush. 나는이 둘의 차이를 얻지 못한다. 호출 할 때 save내 변경 사항이 데이터베이스에 저장되어 있으므로 무엇을 사용하고 있습니까 saveAndFlush?
설정 saveAndFlush하면이 명령에서 변경 사항이 즉시 DB로 플러시됩니다. 을 사용 save하면 이것이 반드시 사실 일 필요는 없으며 flush또는 commit명령이 실행될 때까지 메모리에만 남아있을 수 있습니다 .
그러나 트랜잭션에서 변경 사항을 플러시하고 커밋하지 않더라도이 트랜잭션에서 커밋 될 때까지 변경 사항 이 외부 트랜잭션에 여전히 표시되지 않습니다 .
귀하의 경우에는 모든 종류의 트랜잭션 메커니즘을 사용하여 commit모든 것이 잘 작동하면 명령을 발행 합니다.
사용중인 최대 절전 모드 ( AUTO기본값)에 save따라 변경 사항을 DB에 바로 쓰거나 쓰지 않을 수 있습니다. 전화 saveAndFlush하면 모델 상태를 DB와 동기화해야합니다.
당신이 플러시 모드 AUTO를 사용하고 데이터를 다시 선택한 다음 저장 첫번째로 응용 프로그램을 사용하는 경우, 당신은 사이 bahvior의 차이를 볼 수 없습니다 save()와 saveAndFlush()플러시 먼저 선택 트리거 때문이다. 문서를 참조하십시오 .
반응형
'Programing' 카테고리의 다른 글
| JS에서 isNaN (null) == false 인 이유는 무엇입니까? (0) | 2020.07.24 |
|---|---|
| 플라스크 앱을 여러 개의 py 파일로 나누는 방법은 무엇입니까? (0) | 2020.07.24 |
| Python : help () 출력에서 슬래시는 무엇을 의미합니까? (0) | 2020.07.24 |
| 서로 다른 두 데이터베이스의 테이블을 조인 하시겠습니까? (0) | 2020.07.24 |
| 이 포인터를 사용하면 핫 루프에서 이상한 역 최적화가 발생합니다 (0) | 2020.07.24 |