Grails GORM - 查找具有不同属性值的所有对象

时间:2014-11-25 19:20:30

标签: hibernate grails orm gorm distinct

我正在使用Grails,而我正在试图弄清楚如何获取域类的所有不同值#'属性。换句话说,我正在寻找列的所有不同值。但是,我不确定如何将其转换为GORM语句,最好是标准声明。

我打开任何能给我一个域类列表的东西(每个域类都有相应属性的不同值),然后收集所有属性值。或者直接为我提供不同属性值的东西。

2 个答案:

答案 0 :(得分:17)

我认为您需要完成此操作才能使用projectionsdistinct。根据{{​​3}},这将为您提供域类中属性的不同值列表。

def results = MyDomain.withCriteria {
  projections {
    distinct("theDistinctProperty")
  }
}

答案 1 :(得分:0)

我使用条件投影和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)
    }