Grails 通过查询具有条件的数据库创建集合

Grails 通过查询具有条件的数据库创建集合,grails,Grails,我正在尝试查询PerformanceReview表,该表属于PerformanceReview状态,它将返回状态为“新建”或“打开”的绩效考核。我知道如何获得所有状态为“新”的绩效考核,但如何找到状态为“新”或“打开”的绩效考核 def newStatus = PerformanceReviewStatus.findByName('New') def openStatus = PerformanceReviewStatus.findByName('open') def query = Perfo

我正在尝试查询PerformanceReview表,该表属于PerformanceReview状态,它将返回状态为“新建”或“打开”的绩效考核。我知道如何获得所有状态为“新”的绩效考核,但如何找到状态为“新”或“打开”的绩效考核

def newStatus = PerformanceReviewStatus.findByName('New')
def openStatus = PerformanceReviewStatus.findByName('open')
def query = PerformanceReview.findAllByPerformanceReviewStatus(newStatus)

简单的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])