문제

우리는 우리 프로젝트에서 Hibernate를 사용하고 있습니다.내 질문은 명명 된 쿼리와 관련되어 있습니다.누군가가 Hibernate에 의해 명명 된 쿼리가 처리되는 방식을 안내 할 수 있습니까?Hibernate가 레벨 1 캐시를 사용하도록 구성된 경우 캐시에서 명명 된 쿼리에 대한 결과를 반환하거나 항상 데이터베이스를 트립 할 것입니까?

도움이 되었습니까?

해결책

레벨 -1 캐시는 최대 절전 모드 세션입니다.상태 비 저장 세션이 사용되는 매우 드문 경우를 제외하고는 기본적으로 레벨 1 캐시가 있습니다.쿼리 결과는 레벨 1 캐시에서 결코 캐시되지 않습니다.나는 당신이 "2 차 수준의 캐시"를 의미한다고 생각합니다.

명명 된 쿼리는 캐시에 관한 이름없는 쿼리와 똑같이 처리됩니다.

쿼리는 캐시 할 수 있습니다.캐시 된 경우 데이터베이스에 대한 왕복을 피할 수 있습니다.캐시되었는지 여부, 두 번째 레벨 캐시에있는 엔티티의 인스턴스를 반환하면 쿼리가 ID를 반환 한 다음 엔티티 자체가 두 번째 레벨 캐시에서로드됩니다.

Grails App에서 Hibernate 2 차 수평 캐시 참조 설명서 자세한 정보는

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top