[spring]1차 캐시에 언제 저장될까


[spring]1차 캐시에 언제 저장될까

상황) History history = historyDto.dtoToEntity(); System.out.println("여기(1) hist_id: "+history .getId()); History save = historyRepository.save( history ); System.out.println("여기(2) hist_id: "+history.getHistId()); 결과 여기(1) hist_id: null 여기(2) hist_id: 3 코드에서(1)은 null이 나오고 (2)는 값이 나오는 이유 이미 아시는 분들은 아시겠지만, 작게나마 정리하려고 합니다. historyRepository.save 하는 순간 1차캐시를 먼저 뒤져봅니다. hist_id가 키 값이 되겠군요 hist_id를 기준으로 있는지 없는지요 없다고 판단되면 그때 db를 뒤져서 1차캐시에 올려놓습니다. 저 코드는 service단인데요, service단과 ~ repository단의 transaction이 범...


#1차캐시 #transaction #flush #springdatajpa #spring #service #save #repository #commit #동기화

원문링크 : [spring]1차 캐시에 언제 저장될까