1 대 다수 관계가 포함 된 도메인 클래스가 있습니다. 하나의 CreditProvider
은 많은 Rate
을 가질 수 있습니다. 기준 쿼리로 오늘 평가되지 않은 CreditProvider
을 모두 선택하고 싶습니다 (또는 다른 방법으로는 불가능한 경우).Grails - Criteria, exclusive selection
def criteria = CreditProvider.createCriteria()
def forgottenCreditProvidersToday = criteria.list {
rates {
between('dateCreated', dateTodayAtMidnight, dateTodayAndNow)
}
}
}
가 어떻게 반대를 선택할 수있는 아직 오늘 평가되지 않은 CreditProviders
말을한다 :
여기에 오늘 평가 모든 CreditProviders를 검색하는 쿼리는? 또한, 내가 왜 열심히 요금이 방법을 가져 오기 위해 관리하지 않는 :
fetchMode("rates", FM.EAGER)
는 당신의 도움을 주셔서 감사합니다.
편집 : Provisory 솔루션 :
def criteria = CreditProvider.createCriteria()
def creditProvidersRatedToday = criteria.list {
rates {
gt('dateCreated', dateTodayAtMidnight)
}
order "originalName", "asc"
}
def creditProviders = CreditProvider.findAll()
creditProviders.removeAll (creditProvidersRatedToday)
내가 더 우아한 해결책 :
이
잘못 - 'CreditProvider'에 대해 많은'Rate'가 있기 때문에 'CreditProvider'가 오늘 평가되었지만 범위 밖의'Rate'가있을 것입니다. –