我正在尝试查询PerformanceReview表,belongsTo
一个PerformanceReviewStatus,它将返回状态为new
或open
的效果评估。我想出了如何获得具有新状态的所有性能评估,但我如何才能找到状态为new或open的所有评估?
def newStatus = PerformanceReviewStatus.findByName('New')
def openStatus = PerformanceReviewStatus.findByName('open')
def query = PerformanceReview.findAllByPerformanceReviewStatus(newStatus)
答案 0 :(得分:0)
简单的HQL看起来像:
def performanceReviews =
PerformanceReview.executeQuery("select pr from PerformanceReview as pr \
inner join pr.performanceReviewStatus as prs \
where prs.name in (:name)",
[name: ['New', 'Open']])
免责声明: - 如果您未获得预期结果,请仔细检查以使用左连接。
如果您想坚持使用动态查找程序,请尝试使用inList
def query =
PerformanceReview.findAllByPerformanceReviewStatusInList([newStatus,openStatus])