Grails per-query一对一渴望获取

时间:2011-01-24 08:49:35

标签: grails gorm

假设你有面部和鼻子,你想根据faceId得到鼻子。

Grails用户指南告诉您如何在域类中使用mapping = {fetch:join},以便在您获取面部时急切地在一个查询中获取鼻子。

但我不想一直急切地抓。我只是想在这个特定的情况下使用一个查询而不是两个。这可以在每个查询的基础上完成吗?有什么方法可以做一些事情: Face.get(faceId,[join:nose])?

1 个答案:

答案 0 :(得分:1)

你的意思是somthing link taht:

static fetchMode = [nose:'eager']

找到here

<强>更新

您可以使用条件查询来解决问题。您可以在此处设置查询中的获取模式:

import org.hibernate.FetchMode as FM
    def c = MyDomain.createCriteria()
    def results = c.list {
        maxResults(10)
        firstResult(50)
        fetchMode("aRelationship", FM.EAGER)
    }