我有两个由连接表连接的实体。当我尝试获取所有关联实体时,这只获取关联的标识,而不是它们的属性值:
User.createCriteria().get {
eq property, value
fetchMode 'authorities', FetchMode.JOIN
}
仅导致与连接表的连接:
...
left outer join
search_role_auth_user authoritie2_
on this_.ID=authoritie2_.AUTHORITIES_ID
...
我如何热切地获取关联实体的数据?
答案 0 :(得分:0)
假设,
class User{
static hasMany = [authorities: Authority]
}
class Authority{
static belongsTo = [user: User]
}
authorities
可以通过以下标准热切地获取
User.createCriteria().list {
eq property, value
authorities{
//All authorities for User are eagerly fetched by default
}
}
注意: - 强>
使用list
代替get
,因为有可能获得多个结果,因为条件是基于id
比较而非属性值构建的。