集合不知道FetchMode

时间:2013-04-22 04:36:00

标签: hibernate grails gorm hibernate-criteria

我有以下域名关系:

A hasMany = [bs: B]
B belongsTo = [a:A, c:C]
C hasMany = [bs: B]

当我在Thread.start {}内进行以下查询时,一切都很好(我可以在以集合作为参数调用的方法中访问整个集合):

def aList = A.withCriteria {
    fetchMode('bs', FetchMode.JOIN)
    fetchMode('bs.c', FetchMode.JOIN)
    isNotNull('property')
}

但是,如果我按照以下方式过滤bs集合:

def aList = A.withCriteria {
    fetchMode('bs', FetchMode.JOIN)
    fetchMode('bs.c', FetchMode.JOIN)
    isNotNull('property')
    bs {
        eq('property', C.get(1))
    }
}

我在尝试访问failed to lazily initialize a collection of role: A.bs, no session or session was closed时获得aList.bs。难道我做错了什么?在这两种情况下都会生成相同的SQL ...

0 个答案:

没有答案