0

結合テーブルで結合された 2 つのエンティティがあります。関連付けられているすべてのエンティティを取得しようとすると、関連付けの ID のみが取得され、プロパティ値は取得されません。

User.createCriteria().get {
    eq property, value
    fetchMode 'authorities', FetchMode.JOIN
}

結合テーブルとの結合のみになります。

...
left outer join
    search_role_auth_user authoritie2_ 
        on this_.ID=authoritie2_.AUTHORITIES_ID 
...

関連するエンティティのデータも熱心に取得するにはどうすればよいですか?

4

1 に答える 1

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代わりに - が使用されます。getid

于 2013-07-09T13:21:55.540 に答える