使用Fetch的Grails嵌套Eager查询

时间:2016-01-06 21:28:51

标签: hibernate grails

我有以下域名设置

class Classified{
   static belongsTo = [item: Item]
}

class Item{
   static hasMany = [images: Image, classifieds: Classified]
}

class Image{
   static belongsTo = [item: Item]
}

我想创建一个列表视图,我将显示所有分类及其项目名称和相应的图像。这需要在最少数量的数据库查询中完成。

在我的控制器中,我有以下代码

params.fetch = [item:'join']
def query = Classified.where {item.user == user}
respond query.list(params), model:[classifiedInstanceCount: query.count()]

此代码按预期执行,即急切加载项目。我也想加载图片。我尝试了几种变体,但无法使其发挥作用。

params.fetch = [item:'join', 'item.image':'join']
params.fetch = [item:[image:'join']]

感谢任何帮助,以帮助弄清楚如何使用fetch进行嵌套连接。 我知道使用条件构建器的替代方法,hibernate查询和声明" lazy:false"在域类中。我想如何使用" fetch"。

来使嵌套查询工作

谢谢。

0 个答案:

没有答案