회사에서 @Transacational(readOnly = true) 일때 어떤 성능점 이점이 있을까? 라는 것을 생각해보았다. 기본적으로 무거운 Dirty Check 등을 안한다의 지식을 알고 있었는데, 근데 Dirty Check 는 왜 무거운데? 그리고 Snapshot 비교는? 등등 너무 궁금한 점이 많아져서 코드를 직접 분석하기로 했다. 일단 첫번째 코드는 isReadOnly 에 대한 분석인데, 설명을 간략하게 설명하면 아래와 같다. 이걸 read-only transaction 으로 optimize 할건지에 대한 여부를 알려주는 flag 라고 생각하면 된다. 참고로 어떻게 현재 트랜잭션에서 readOnly 여부를 알려주는 코드는 아래에 있다. 우리가 @Transactional(readOnly=true..