User
和Role
之间存在多对多的关系。有一个名为UserRole
的第三个表被映射为连接表。
在JPA中,我可以使用User
缓存Role
和@Cachable
;但是,当我尝试获取与定义为Role
的{{1}}相关联的User
时,将执行数据库查询以从连接表中获取值。
如何在EAGER
和User
之间缓存联接表?
答案 0 :(得分:0)
根据here确定您的缓存并发策略,并在您的关联之上使用@Cache:
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE, region = "user_roles")
确保使用@Cacheable标记两个实体(在本例中为User和Role)。