【问题标题】:Grails 3 - findAllBy with joinGrails 3 - findAllBy 加入
【发布时间】:2016-09-24 05:26:21
【问题描述】:

我有一个域类:

class Owner {
    Integer ownerType
    Prop propertyToJoinSometimes

    static constraints = {
        propertyToJoinSometimes nullable: true
    }
}

我通常不想在加载 Owner 时加载 propertyToJoinSometimes,但有时我会使用 findAllBy 一次加载多个 Owner 对象,并且一次连接可以节省大量对数据库的调用。有没有办法做类似的事情:

Owner.findAllByOwnerType(2, [propertyToJoinSometimes: [fetch: 'join']])

【问题讨论】:

  • 您是使用 propertyToJoinSometimes 中的所有内容,还是使用所有者中的位和 propertyToJoinSometimes 中的位来组成您的演示文稿?我问的原因 - 你可以在这里参考更早的答案stackoverflow.com/questions/38363404/…
  • 哈哈哈是你问的问题

标签: grails grails-orm grails-3.1


【解决方案1】:

这不是您正在寻找的(不使用动态查找器findAllBy),但它会产生您所追求的结果。 createCriteria/withCriteria 的 grails 文档没有提及它,但在 HibernateCriteriaBuilder 中有一个 fetchMode 方法。

import org.hibernate.FetchMode   

Owner.withCriteria {
    eq('ownerType', 2)
    fetchMode('propertyToJoinSometimes', FetchMode.JOIN)
}

【讨论】:

    【解决方案2】:

    只是使用动态查找器添加一个选项:

    Owner.findAllByOwnerType(2, [fetch: ['propertyToJoinSometimes': 'eager']])
    

    【讨论】:

      猜你喜欢
      • 2019-03-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
      相关资源
      最近更新 更多