Grails createCriteria来自具有内部联接的mysql查询

Grails createCriteria来自具有内部联接的mysql查询,grails,Grails,我有一个mysql查询 SELECT cr1.project_id FROM contribution_request as cr1 INNER JOIN contribution_request as cr2 ON cr1.project_id = cr2.project_id WHERE cr1.instrument_id = 5 AND cr2.instrument_id = 6 我需要通过grailscreateCriteria函数执行它 我已经试过了,但它不起作用,我找不到怎么做

我有一个mysql查询

SELECT cr1.project_id 
FROM contribution_request as cr1
INNER JOIN contribution_request as cr2 ON cr1.project_id = cr2.project_id 
WHERE cr1.instrument_id = 5 AND cr2.instrument_id = 6
我需要通过grails
createCriteria
函数执行它

我已经试过了,但它不起作用,我找不到怎么做

 def pc = ContributionRequest.createCriteria();
    def Object = pc.list {

        projections {
            property("project.id")
        }

        and {
            eq "instrument.id", 5L
            eq "instrument.id", 6L
        }
    }

感谢您的帮助

当您使用
投影
时,您应该使用
获取
而不是
列表
。您的代码如下所示:

 def pc = ContributionRequest.createCriteria();
def Object = pc.get {

    projections {
        property("project.id")
    }

    and {
        eq "instrument.id", 5L
        eq "instrument.id", 6L
    }
}