我正在使用带有 Coherence 的 Hibernate L2 缓存在两个不同的 Web 服务中进行缓存。
设想
Employee
第一个 Web 服务有一个包含 5 个字段的实体类- 第二个 Web 服务具有相同的实体类
Employee
,但具有 3 个字段。
两者都指向相同的表/模式,并且包层次结构也相同。
现在,当新的请求employeeId=1
来自第二个 Web 服务时,它会从数据库中获取值并缓存 3 列;保持其他 2 为空。
现在,当请求employeeId=1
来自第一个 Web 服务时,它通过提供 3 列直接从缓存中获取,并将另外 2 列返回为 null,即使在数据库中这 2 列具有非 null 值。
有没有办法强制它从数据库中获取这些列?
已经尝试过的方法
- 如果我将两个 Web 服务中的列保持相同,问题就会消失,但这在我的场景中不是可接受的解决方案。
- 我尝试添加不同的serialVersion,但它不起作用。
- 保持完全限定名称不同是可行的,但这会迫使我们增加执行手动驱逐的开销