동적 찾기를 사용하여 GORM으로 일부 열을 제외하는 방법은 무엇입니까?
:
다음과 같은 쿼리를 실행할 수 있기를 바랍니다.DbDeployment.findAllByFabric("f1", params)
하지만 열 details
(잠재적으로 큰)를 보장하고 싶습니다. 검색되지 않았습니다.
이렇게하는 방법이 있습니까?
동적 찾기를 사용하여 GORM으로 일부 열을 제외하는 방법은 무엇입니까?
:
다음과 같은 쿼리를 실행할 수 있기를 바랍니다.DbDeployment.findAllByFabric("f1", params)
하지만 열 details
(잠재적으로 큰)를 보장하고 싶습니다. 검색되지 않았습니다.
이렇게하는 방법이 있습니까?
옵션 1 : 큰 데이터 필드 (들) this answer에서
한 제안에 대한 연결을 만들은 느리게로드 발생할 별도의 도메인으로 대형 데이터 속성을 분해하는 것이다. 예 : Burt Beckwith에서 좋은 답을 가지고 Grails mailing list question 원래 테이블에
answer on a different question 링크를 새 도메인 + 매핑을 사용하지만, SO의 대답은 제공하지 않습니다
class DbDeployment {
Date startDate = new Date()
Date endDate
...
DbDeploymentDetails details
}
class DbDeploymentDetails {
String details
static belongsTo = DbDeployment
}
옵션 2 보기. 후손을 위해서 나는 메일 링리스트에서 자신의 예를 yoink 여기에 넣어 것입니다.
그것은 큰 분야하지 않고 다른 도메인 클래스를 생성 한 후 다른 도메인의 테이블에 매핑하기 위해 static mapping
폐쇄를 사용하는 것입니다.
class DbDeployment {
Date startDate = new Date()
Date endDate
...
String details
}
class SimpleDbDeployment {
Date startDate = new Date()
Date endDate
...
// do not include String details
static mapping = {
table 'db_deployment'
}
}
그럼 그냥 SimpleDbDeployment에 측정기를 사용할 수 있습니다 : 당신이 메일 링리스트에서 귀하의 예제와 응답을 다시한다면
SimpleDbDeployment.findAllByFabric('f1', params)
버트, 그것은 큰 것; 나는 너를 신용 할 가치가 있기 때문에, 너의 것을 버리고 너의 것을 버리지 않을 것이다.
[관련] (http://stackoverflow.com/questions/5492833/lazy-column-loading-in-grails-domain-class) [관련] (http://stackoverflow.com/questions/5880564/) 사용-게으른 재산권 페치 -에 - Grails에-GORM) –
위의 두 링크는 [이 메일 링리스트 게시물 (http://grails.1312388.n4.nabble.com/Lazy-fetching-in-just로 안내합니다 유용) -의 도메인 클래스 td1577445.html 온 - 속성. 멋진 –