Spring 이 Hibernate 를 통합 할 때 2 급 캐 시 인 스 턴 스 를 사용 합 니 다.

Spring 이 Hibernate 를 통합 할 때 2 급 캐 시 인 스 턴 스 를 사용 합 니 다.
앞 에 쓰기:
1.이 예 는 Hibernate 3+Spring 3 를 사용 합 니 다.
2.본 사례 의 조 회 는 HibernateTemplate 를 사 용 했 습 니 다.
1.ehcache-x.x.x.jar 패키지 가 져 오기;
2.applicationContext.xml 파일 에서 session Factory 에 해당 하 는 설정 정 보 를 찾 고 hibenate Properties 설정 에 다음 코드 를 추가 합 니 다.

<!--          --> 
<prop key="hibernate.cache.use_query_cache">true</prop> 
<!--          --> 
<prop key="hibernate.cache.use_second_level_cache">true</prop> 
<!--            --> 
<prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop> 




3.히 베 네 이 트 템 플 릿 을 사 용 했 기 때문에 히 베 네 이 트 템 플 릿 에 해당 하 는 설정 을 해 야 합 니 다.히 베 네 이 트 템 플 릿 의 설정 항목 을 찾 아 다음 코드 를 추가 합 니 다.

<!--        --> 
<property name="cacheQueries"> 
  <value>true</value> 
</property> 

4.캐 시 할 실체 클래스 에 다음 주 해 를 추가 합 니 다.

@Cache(usage = CacheConcurrencyStrategy.READ_WRITE) 
주:
usage 는 다음 과 같은 몇 가지 값 을 얻 을 수 있 습 니 다.
  • CacheConcurrency Strategy.NONE:캐 시 를 사용 하지 않 습 니 다.기본 값;
  • CacheConcurrencyStrategy.READ_ONLY:읽 기 전용 모드 입 니 다.캐 시 데 이 터 를 수정 하면 이상 이 발생 합 니 다
  • CacheConcurrencyStrategy.NONSTRICT_READ_WRITE:엄격 하지 않 은 읽 기와 쓰기 모드 로 캐 시 데이터 에 잠 금 을 넣 지 않 습 니 다
  • CacheConcurrencyStrategy.READ_WRITE:읽 기와 쓰기 모드 입 니 다.캐 시 를 업데이트 할 때 캐 시 에 있 는 데 이 터 를 자물쇠 로 바 꿉 니 다.다른 사 무 는 해당 하 는 캐 시 데 이 터 를 찾 으 러 가면 잠 겨 있 는 것 을 발견 하면 바로 데이터 베 이 스 를 조회 합 니 다
  • CacheConcurrency Strategy.TRANSACTIONAL:트 랜 잭 션 모드,트 랜 잭 션 지원,트 랜 잭 션 이 스크롤 백 될 때 캐 시 에 있 는 데이터 도 스크롤 백 되 며 JPA 만 지원 합 니 다.
  • 5.ehcache.xml 파일 설정:
    
    <ehcache> 
      <!--         , EHCache         ,            --> 
      <diskStore path="java.io.tmpdir"/> 
      <!--  
        name        ,                    ; 
        maxElementsInMemory                      
        eternal    true,          ,     timeToIdleSeconds timeToLiveSeconds,   false; 
        timeToIdleSeconds                  ,     ; 
        timeToLiveSeconds                  ,     ; 
        overflowToDisk    true,                  maxElementsInMemory  ,                 ; 
       --> 
      <!--               --> 
      <defaultCache 
        maxElementsInMemory="1000" 
        eternal="false" 
        timeToIdleSeconds="1200" 
        timeToLiveSeconds="1200" 
        overflowToDisk="false" 
      /> 
      <!--                   --> 
      <cache name="com.shawearn.model.User" 
        maxElementsInMemory="1000" 
        eternal="false" 
        timeToIdleSeconds="3000" 
        timeToLiveSeconds="3000" 
        overflowToDisk="false" /> 
    </ehcache> 
    
    읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

    좋은 웹페이지 즐겨찾기