在JPA中使多对多关系可缓存

时间:2014-02-07 19:00:41

标签: hibernate jpa

UserRole之间存在多对多的关系。有一个名为UserRole的第三个表被映射为连接表。

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

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

1 个答案:

答案 0 :(得分:0)

根据here确定您的缓存并发策略,并在您的关联之上使用@Cache:

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

确保使用@Cacheable标记两个实体(在本例中为User和Role)。