Web services 如何在Hibernate二级缓存中处理同一实体的不同结构,并为缓存提供一致性

Web services 如何在Hibernate二级缓存中处理同一实体的不同结构,并为缓存提供一致性,web-services,hibernate,oracle-coherence,Web Services,Hibernate,Oracle Coherence,我在两个不同的Web服务中使用Hibernate二级缓存和一致性缓存 场景 第一个Web服务有一个实体类Employee,包含5个字段 第二个Web服务具有与3个字段相同的实体类Employee 两者都指向相同的表/模式,包层次结构也相同 现在,当employeeId=1的新请求到达第二个Web服务时,它会从数据库中提取并缓存3列;将其他2保持为空 现在,当对employeeId=1的请求到达First Webservicehits时,它通过提供3列直接从缓存中获取,并将其他2列返回为null。

我在两个不同的Web服务中使用Hibernate二级缓存和一致性缓存

场景
第一个Web服务有一个实体类Employee,包含5个字段
第二个Web服务具有与3个字段相同的实体类Employee

两者都指向相同的表/模式,包层次结构也相同

现在,当employeeId=1的新请求到达第二个Web服务时,它会从数据库中提取并缓存3列;将其他2保持为空

现在,当对employeeId=1的请求到达First Webservicehits时,它通过提供3列直接从缓存中获取,并将其他2列返回为null。;即使在数据库中这两列都有值

有没有办法强迫它从数据库中获取该列

方法已尝试

  • 如果我保持两个Web服务中的列相同,问题就会消失,但在我的场景中,这不是一个可接受的解决方案
  • 我尝试添加了不同的串行版本,但不起作用
  • 保持完全限定名是不同的,但这会迫使我们增加执行手动逐出的开销

  • 您应该能够为此使用接口,该接口将允许您在网格中插入向前和向后兼容的对象。您只需要确保第二个Webservice设置的版本低于第一个