我在UserRole之间有多对多关系。第三个表称为UserRole映射为联接表。

在JPA中,我可以使用User缓存Role@Cachable;但是,当我尝试获取与Role定义的User相关联的EAGER时,将执行数据库查询以从联接表中获取值。

如何在UserRole之间缓存联接表?

最佳答案

确定基于here的缓存并发策略,并在关联顶部使用@Cache:

    @org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE, region = "user_roles")

确保也使用@Cacheable标记这两个实体(在本例中为用户和角色)。

关于hibernate - 使多对多关系可在JPA中缓存,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21635734/

10-13 07:42