2

こんにちはみんなキャッシュに問題があります、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番目のクエリは表示されません

4

0 に答える 0