我在 User
之间存在多对多关系和 Role
.还有第三个表叫 UserRole
映射为连接表。
在 JPA 中,我可以缓存 User
和 Role
使用 @Cachable
;但是,当我尝试获取 Role
时s 关联到 User
定义为 EAGER
,执行数据库查询以从连接表中获取值。
如何缓存 User
之间的连接表和 Role
?
最佳答案
根据 here 决定您的缓存并发策略并在您的关联之上使用@Cache:
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE, region = "user_roles")
确保也用@Cacheable 标记两个实体(在本例中为用户和角色)。
关于hibernate - 在 JPA 中使多对多关系可缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21635734/