Grails查询,如何在结果中获取特定字段?

Grails查询,如何在结果中获取特定字段?,grails,groovy,gorm,Grails,Groovy,Gorm,我拥有域类: class Product { String barcode String name String measurement static constraints = { } } 现在,我想得到一个只有一个字段的列表,如“name”: Product.findAllByNameIlike(“%$params.name%”,[order:“desc”]) 问题是什么?是否有错误?Product.findAllByNameIlike(“%$

我拥有域类:

class Product {

    String barcode
    String name
    String measurement

    static constraints = {

    }
}
现在,我想得到一个只有一个字段的列表,如“name”:

Product.findAllByNameIlike(“%$params.name%”,[order:“desc”])


问题是什么?是否有错误?
Product.findAllByNameIlike(“%$params.name%”,[order:“desc”])?.name
此查询返回完整的表数据并生成完整的实例,然后在内存中提取一个值。更好的方法是使用条件上的投影从数据库中只返回一列。是否可以使用相同的方法收集多个字段?
Product.findAllByNameIlike("%$params.name%",[order: "desc" ])?.collect{it.name}