RestfulController上的Grails文档:嵌套资源查询包含id == id

时间:2015-06-26 01:19:37

标签: grails groovy

我正在使用Grails RestfulController并在文档第9.1.5.1节(https://grails.github.io/grails-doc/latest/guide/single.html#extendingRestfulController)中遇到这个奇怪的查询,id == id:

@Override
protected Book queryForResource(Serializable id) {
    Book.where {
        id == id && author.id = params.authorId
    }.find()
}

最初认为这是doco中的一个问题,但实际上编写了代码,它确实只适用于id == id。 Codenarc还检测到奇怪的比较,生成的Hibernate查询按预期方式进行。 任何人都可以帮我理解吗?感谢。

1 个答案:

答案 0 :(得分:0)

Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("photo/*");

intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select Photo"), PICK_VIDEO_REQUEST );

id == id |___| |___| | | | | | id value passed as method parameter | id property from domain class 查询或where中表达式的左侧始终是域类中属性的引用。

类似于:

DetachedCriteria

其中select a from Author as a where a.id = :id 将成为查询的传入参数