Hibernate 에서는 데이터베이스의 부하를 줄이기 위해서 1차 캐시를 이용한다. 1차 캐시란 Transaction 내에서 작동하는 캐시를 뜻한다. 이 글은 위의 1차 캐시가 어떻게 작동하는지 알기에 본다고 생각하고, Hibernate 의 코드를 분석하는데만 신경을 쓸 것이다. 코드는 매우 간단합니다. @Service public class UserService { private final UserRepository userRepository; public UserService(UserRepository userRepository) { this.userRepository = userRepository; } @Transactional public void test() { User user = new Us..