同一个类中可以同时配置两个不同的@Cache吗,配置在类上和变量上有什么不同?

月度银墙 2015-12-04 10:37:50

@Entity
@Table(name = "mto_role")
@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE)
public class RolePO {

@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "mto_role_menu", joinColumns = { @JoinColumn(name = "role_id") },
inverseJoinColumns = { @JoinColumn(name = "menu_id") })
@Fetch(FetchMode.SUBSELECT)
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
private List<AuthMenuPO> authMenus = new ArrayList<AuthMenuPO>();
}


请问为什么RolePO是NONSTRICT_READ_WRITE,而到了authMenus则可以配置成READ_WRITE。这两者会冲突吗,这样配置有什么好处?.NONSTRICT_READ_WRITE、READ_WRITE的优缺点以及使用场景(不要复制,说说自己的观点)。谢谢
...全文
75 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
CacheConcurrencyStrategy.READ_WRITE , 说白了就是数据发生更改的时候,会往缓存里面加一个锁。 让你继续访问缓存数据的时候,让你转而去访问数据库; CacheConcurrencyStrategy.NONSTRICT_READ_WRITE ,这个我的理解是:不加锁。; 你的这个应该不冲突的,你的表不加锁,针对你的字段枷锁,更改这个字段的时候起作用
dracularking 2015-12-04
  • 打赏
  • 举报
回复
NONSTRICT_READ_WRITE concurrency strategy 适用以读为主的应用场景

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧