[SPRING] Spring 데이터 jpa에서 save와 saveAndFlush의 차이점
SPRINGSpring 데이터 jpa에서 save와 saveAndFlush의 차이점
JpaRepository를 통해 CRUD 작업을 테스트하여 JPA 스프링 데이터를 배우려고합니다.
나는 saveAndFlush라는 두 가지 메소드를 발견했다. 나는이 둘의 차이점을 얻지 못한다. save를 호출하면 내 변경 사항이 데이터베이스에 저장되므로 saveAndFlush를 사용하게됩니다.
해결법
-
==============================
1.saveAndFlush에서 변경 사항은이 명령에서 즉시 DB로 플러시됩니다. save를 사용하면 플러시 또는 커밋 명령이 실행될 때까지 메모리에 그대로 유지 될 수 있습니다.
saveAndFlush에서 변경 사항은이 명령에서 즉시 DB로 플러시됩니다. save를 사용하면 플러시 또는 커밋 명령이 실행될 때까지 메모리에 그대로 유지 될 수 있습니다.
그러나 트랜잭션의 변경 사항을 플러시하고 커밋하지 않더라도 변경 사항은이 트랜잭션의 커밋까지 외부 트랜잭션에 표시되지 않습니다.
귀하의 경우에는 일종의 트랜잭션 메커니즘을 사용합니다. 모든 메커니즘이 정상적으로 작동하면 커밋 명령을 실행합니다.
-
==============================
2.사용중인 최대 절전 모드 (기본값 : AUTO)에 따라 DB에 변경 사항을 즉시 기록 할 수도 있고 기록하지 않을 수도 있습니다. saveAndFlush를 호출하면 모델 상태와 DB의 동기화가 적용됩니다.
사용중인 최대 절전 모드 (기본값 : AUTO)에 따라 DB에 변경 사항을 즉시 기록 할 수도 있고 기록하지 않을 수도 있습니다. saveAndFlush를 호출하면 모델 상태와 DB의 동기화가 적용됩니다.
플러시 모드 AUTO를 사용하고 응용 프로그램을 사용하여 데이터를 처음 저장 한 다음 다시 선택하면 select ()가 먼저 플러시를 트리거하기 때문에 save ()와 saveAndFlush () 사이의 차이가 표시되지 않습니다. 문서를 참조하십시오.
from https://stackoverflow.com/questions/21203875/difference-between-save-and-saveandflush-in-spring-data-jpa by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring Data REST를 사용하면 @Version 속성이 ETag가되고 표현에 포함되지 않는 이유는 무엇입니까? (0) | 2019.01.05 |
---|---|
[SPRING] 비 관리 스레드 Spring Quartz Websphere Hibernate (0) | 2019.01.05 |
[SPRING] 403 대신 Spring Boot 2를 사용하십시오. (0) | 2019.01.05 |
[SPRING] MongoDB $ aggregate $ Java Spring 데이터에서 여러 필드 푸시 (0) | 2019.01.05 |
[SPRING] 자바 구성으로 Spring ConversionService를 구성하는 방법은 무엇입니까? (0) | 2019.01.05 |