【问题标题】:Grails GORM - Find all objects with distinct property valueGrails GORM - 查找具有不同属性值的所有对象
【发布时间】:2015-01-23 22:34:24
【问题描述】:

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

我对给我一个域类列表的东西持开放态度(每个类都有不同的属性值)并且我收集所有属性值。或者直接给我不同的属性值的东西。

【问题讨论】:

    标签: hibernate grails orm grails-orm distinct


    【解决方案1】:

    我认为你只需要使用projectionsdistinct。根据documentation,这将为您提供域类中属性的不同值的列表。

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

    【讨论】:

    • 我认为这不能回答问题。问题是“查找具有不同属性值的所有对象”而不是“查找对象列表的所有不同属性”。
    • 它确实做到了“列的所有不同值”所要求的内容,引用来自问题本身。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2013-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多