【发布时间】:2015-01-23 22:34:24
【问题描述】:
我正在使用 Grails,并试图弄清楚如何获取域类属性的所有不同值。换句话说,我正在寻找一列的所有不同值。但是,我不确定如何将其转换为 GORM 语句,最好是标准语句。
我对给我一个域类列表的东西持开放态度(每个类都有不同的属性值)并且我收集所有属性值。或者直接给我不同的属性值的东西。
【问题讨论】:
标签: hibernate grails orm grails-orm distinct
我正在使用 Grails,并试图弄清楚如何获取域类属性的所有不同值。换句话说,我正在寻找一列的所有不同值。但是,我不确定如何将其转换为 GORM 语句,最好是标准语句。
我对给我一个域类列表的东西持开放态度(每个类都有不同的属性值)并且我收集所有属性值。或者直接给我不同的属性值的东西。
【问题讨论】:
标签: hibernate grails orm grails-orm distinct
我认为你只需要使用projections 和distinct。根据documentation,这将为您提供域类中属性的不同值的列表。
def results = MyDomain.withCriteria {
projections {
distinct("theDistinctProperty")
}
}
【讨论】:
我使用标准投影和 groupProperty 来获得不同的值,我共享此代码现在正在生产中工作
def criteria = Item.createCriteria()
def items = criteria {
projections {
groupProperty "product", "product"
}
order "product"
//remeber import import org.hibernate.transform.AliasToEntityMapResultTransformer in order to get alias property
resultTransformer(AliasToEntityMapResultTransformer.INSTANCE)
}
【讨论】: