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=?

第一个查询休眠缓存但第二个总是执行如果我删除 belongsTo 没有任何变化但第二个查询永远不会出现

4

0 回答 0