배경
@Transactional 이 있는 메소드에서 set을 여러번할때 차이가 나타나는데,
같은 컬럼을 여러번 set할 경우(update쿼리), (*다른컬럼일때 확인해볼것)
save()
마지막 set에 대해서만 update 쿼리가 출력되고, 트랜잭션메소드가 다 끝난 후에 DB에 반영
saveAndFlush()
set할때마다 update쿼리가 출력되고, DB에는 트랜잭션메소드가 다 끝난 후에 한번만 반영.
update쿼리가 출력된 것은 JPA내부적으로 저장된것으로 보임.
flush는 DB가 아니라 SQL 저장소 내로 flush를 하는 과정.
'Back > Java' 카테고리의 다른 글
[Java/Reactor] Mono then() 동작 흐름 테스트 (0) | 2023.02.22 |
---|---|
[Spring/WebSocket] 초초초기본편 웹소켓 통신해보기 (1) (0) | 2022.09.18 |
[Spring/WebSocket] RSocket 예제코드 실행해보기(WIP) (1) | 2022.09.15 |
[Java/SpringBoot] 멀티 스레드 & static 테스트 (0) | 2022.01.02 |
[Spring/mybatis] null check (0) | 2021.01.22 |