こんにちはみんなキャッシュに問題があります、2つのエンティティを持つのを手伝ってください
class User {
FacebookUser facebookUser
static mapping {
cache true
}
def getImage() {
return facebookUser.image
}
}
と
class FacebookUser {
static belongsTo = [user:User]
static mapping = {
cache true
}
}
キャッシュからユーザーを取得するときは、常にfacebook_user_id =?のユーザーを選択しようとします。しかし、belongsToを削除すると、希望どおりに機能します。だから私は質問があります:なぜですか?ありがとう
Hibernateによって生成されたクエリを表示する
Hibernate: select user0_.id as id69_3_, ... from user user0_ left outer join fb_user facebookus1_ on user0_.facebook_user_id=facebookus1_.id where user0_.id=?
Hibernate: select user0_.id as id69_3_, ... from user user0_ left outer join fb_user facebookus1_ on user0_.facebook_user_id=facebookus1_.id where user0_.facebook_user_id=?
最初のクエリはキャッシュを休止状態にしますが、2番目は常に実行されますbelongsToを削除すると、何も変更されませんが、2番目のクエリは表示されません