• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

saveansflush를 호출하시는 이유가 있나요?

22.10.22 14:30 작성 조회수 285

1

궁금합니다

답변 1

답변을 작성해보세요.

0

정성훈님 안녕하세요.

일단 saveAndFlush 를 사용한이유는 예제를 간단하게 작성하기 위해서 사용하였습니다.

save 메소드를 사용하게 된다면 데이터베이스에 바로 flush 가 되는것이 아니기때문에 synchronized 를 이용한 방법을 테스트할 때 오류가 날것입니다.

그 이유는 @Transactional 의 동작방식때문에 그렇습니다. (DB 에 값이 입력되기전에 다른스레드가 메소드에 접근이 가능해집니다)

SynchronizedFacade 를 만들어서 한번 더 래핑해준다면 save 메소드를 사용하는편이 더 좋을것 같습니다.

강의를 들어주셔서 감사합니다.