【发布时间】:2012-05-09 00:07:15
【问题描述】:
我正在使用 JPA,并且我正在为所有引用实体使用二级缓存。 一切正常,我可以从二级缓存中获取实体,因为它们之前已经被选中了。
现在,我有两个应用程序,它们都使用相同的数据库(因此它们都使用相同的表、值等)。 1.只读应用程序只是从数据库中读取数据,它根本不修改数据库。因此,我为二级缓存选择了“READ_ONLY”并发策略,目的是为了更好的性能。 2.读写应用程序读写数据库数据,修改数据库。因此,我不得不为二级缓存选择“READ_WRITE”或“NONSTRICT_READ_WRITE”并发策略。
但是,并发策略是在每个实体类的注释中分配的,所以我无法通过编程方式更改它。 (我不使用 JPA 的类映射文件,所以我不能使用两个映射文件,每个映射文件用于同一个实体类的不同并发策略。)
我的问题是,有没有什么好的方法可以根据我的 2 个不同的应用程序动态更改二级缓存的并发策略?
【问题讨论】:
标签: java hibernate caching concurrency