1차 캐시
•
SessionImpl → PersistenceContext
2차캐시
•
SessionFactory를 생성할 때 SessionFactoryOptions 에 isSecondLevelCacheEnabled 가 true 이면 CacheInitiator 로 부터 CacheImplementor 를 주입(?) 받음
•
CacheImplementor 를 상속하여 구현한 기본 구현체인 EnabledCaching 가 존재
•
EnabledCaching 의 멤버변수, regionFactory 가 실제 2차캐시를 구현하는 구현체로 보임
◦
ex) RedissonRegionFactory
•
생성된 EnabledCaching 은 SessionFactoryImpl 의 CacheImplementor cacheAccess 멤버변수로 존재함