【发布时间】:2017-10-30 01:51:20
【问题描述】:
XMl 中 Employee 类的缓存配置
<cache name="com.model.Employee"
maxEntriesLocalHeap="100" overflowToDisk="false" statistics="true" />
<cache name="employees" maxEntriesLocalHeap="1000" overflowToDisk="false" timeToLiveSeconds="60" statistics="true" />
使用查询缓存来获取员工
@QueryHints({@QueryHint(name = "org.hibernate.cacheable", value = "true"), @QueryHint(name="org.hibernate.cacheRegion", value="employees")})
List<Employee> findAll();
两个应用程序使用相同的数据库,例如 A 和 B,如果 A 应用程序删除了员工 ID 8 ,但同时应用程序 B 可能使用这个缓存的 id 8。
在当前配置下,应用程序 B 中的员工对象可能为 null。
解决此问题或改进当前配置的任何提示
【问题讨论】:
标签: spring jpa caching ehcache