【问题标题】:Does Grails has domain.find-by... option ":select" to limit column like rails?Grails 是否有 domain.find-by... 选项 ":select" 来限制像 rails 这样的列?
【发布时间】:2012-03-27 01:36:42
【问题描述】:

在rails中,我们可以使用Order.find(:all,:select=>"id,name...... 或者Order.where(....).select("id,name")限制列。

但我在 Grails 中找不到类似的方法。所以你能给我一些帮助吗?谢谢。

【问题讨论】:

    标签: grails dns findby


    【解决方案1】:

    Grails 动态查找器没有任何可能的参数来限制查找器返回的属性。我所知道的最好的选择是在一个标准内使用预测,即

    Book.withCriteria {
        like 'author', 'Will%'
        projections {
            property 'title'
            property 'author'
        }
    }
    

    更多信息,请参阅criteria reference

    【讨论】:

    • 我不明白你的问题
    • +1,但带有投影的查询仅返回属性列表而不是域实例,因此您无法使用从它返回的内容进一步更新属性。
    【解决方案2】:

    当使用动态查找器(如 findBy)时,您无法限制返回的列。 Intead 您必须使用 criteria query with projections 或使用 executeQuery 执行的 HQL 查询

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-14
      • 2011-02-27
      • 2011-06-30
      • 2011-07-03
      • 1970-01-01
      • 1970-01-01
      • 2019-06-26
      • 1970-01-01
      相关资源
      最近更新 更多