我正在使用 Hibernate (GORM) 进行 Grails 项目。我有以下领域模型:
ClientContact {
static hasMany = [owners: Person]
static belongsTo = [Person]
}
Person {
static hasMany = [clientContacts: ClientContact]
}
当我尝试ClientContacts
使用特定所有者 ( Person
) 检索所有内容时,我遇到了一些有趣的问题。我正在使用以下查询条件:
def query = {
owners {
eq("id", Long.parseLong(params.ownerId))
}
}
def criteria = ClientContact.createCriteria()
def results = criteria.list(params, query)
问题是当我遍历ClientContacts
结果中的每一个时,它们只有一个所有者- 事实上,大多数都有许多其他所有者。是什么赋予了?我知道 hibernate/GORM 使用延迟获取,但我认为ClientContact
当我尝试访问它们时它会获取所有其他所有者。
有什么想法吗?我想继续使用list()函数,因为它提供了一些不错的分页功能。