답변 1
0
정성훈님 안녕하세요.
일단 saveAndFlush 를 사용한이유는 예제를 간단하게 작성하기 위해서 사용하였습니다.
save 메소드를 사용하게 된다면 데이터베이스에 바로 flush 가 되는것이 아니기때문에 synchronized 를 이용한 방법을 테스트할 때 오류가 날것입니다.
그 이유는 @Transactional 의 동작방식때문에 그렇습니다. (DB 에 값이 입력되기전에 다른스레드가 메소드에 접근이 가능해집니다)
SynchronizedFacade 를 만들어서 한번 더 래핑해준다면 save 메소드를 사용하는편이 더 좋을것 같습니다.
강의를 들어주셔서 감사합니다.