2013-08-27 2 views
1

Grails의 문서 상태가 모두 포함 캐시,게으르고 비 지연 Grails의의 속성

class Person { 
    .. 
    static mapping = { 
     table 'people' 
     cache true 
    } 
} 

가 "게으르고 비 지연 특성을 모두 포함하는 '읽기 - 쓰기'캐시를 구성합니다." 우리가 사람의 일대 다 관계를 가질 경우

, 예 :

static hasMany = [addressess: Address] 

Grails의 그것에게 게으른 속성을 치료합니까? 주소 개체도 캐시되거나 주어진 Person과 관련된 ID 만 캐시에 보관됩니까?

답변

3

기본적으로 연관은 Grails에서 lazy으로 처리됩니다.

위의 특정 예에서 Person에 대해 all 주소 개체가 캐시됩니다. Person에 캐싱에서 연결을 폐기하기 위해

Person 내부에만 연결을 캐시하기 위해
cache usage: 'read-write', include: 'all' //includes lazy and non-lazy 

, 당신은

addresses cache: true

을 필요 : 위의 기본 캐시 설정과 같이 확장 될 수있다 당신은 내가으로 Ehcache에 확인할 수 있습니다 멜로디 플러그인이 설치 Grails의를 가지고

cache usage: 'read-write', include: 'non-lazy' 
//usage can be according to the need 'read-only', 'read-write', etc 
+0

해야합니다. grails docs처럼 맵핑을하면 - 단지 'cache true'인데, 나는 Person 캐쉬를 멜로디 raport로 볼 수 있지만 Address cache는 볼 수 없다. 당신이 쓴 것이 사실이라면 왜 내가 주소 캐시를 볼 수 없습니까? – kuzo

관련 문제