我正在使用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查询按预期方式进行。 任何人都可以帮我理解吗?感谢。
答案 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
将成为查询的传入参数