Grails에서 최대 절전 모드로 쿼리 할 때 문제가 발생했습니다.최대 절전 모드 기준의 어소시에이션 크기
def visitors = Client.withCriteria{
visits{
use (TimeCategory) {between('date',date,date+1.month-1)}
}
sizeGe("visits",params.from)
sizeLe("visits",params.to)
fetchMode("visits", FM.JOIN)
};
내가에서 사이의 달에 방문의 수와 에 경계를 가지고있는 클라이언트 만이 필요합니다
가보세요.하지만 이제 크기 * 모든 방문에 제한이 적용됩니다. 따라서 고객이이 달에 한 번 방문하고 지난 달에 방문하는 경우 = 2으로 설정하면이 클라이언트가 생성됩니다. 하지만 거기에 있지 않아야합니다.
// UPD : 나는 예상대로 그 sizeGe 및 sizeLe 제한 같은 것은하지 작동합니다.
내 관점에서 사이에 적용해야하지만 제한 사이에 적용해야합니다. 예를 들어
:
def client = new Client();
client.visits.add(new Visit(date:'2010-03-16'));
client.visits.add(new Visit(date:'2010-05-16'));
client.visits.add(new Visit(date:'2010-05-17'));
client.save();
그리고 내가 원하는 경우 :
- 날짜 = 다음 Date.parse ('YYYY-MM', '2010-05')
- params.from = 2 개
기준이 클라이언트를 반환해야하고
,691 경우 363,210- params.from = 3
하지 리턴;
크기은 모든 방문에 적용 되었기 때문에 반환합니다. 날짜는 관계 없습니다.
// end UPD.
아직 명확하지 않은 경우 알려주십시오.
도움을 주시면 감사하겠습니다.
감사합니다. Vova.
더 자세히 설명해 주시겠습니까? –