我们现在使用 Hazelcast 作为 Hibernate 2 级缓存有一段时间了,但是当使用多个节点时,我们发现存储和读取数据的延迟很长。
我们大量使用组合对象和@OneToMany 关系,为了提高性能,我们决定通过 Hibernate 延迟加载来加载这些组合对象或集合。正如 Hazelcast 文档中所述,我们还实现了 DataSerializable 以加速 Hazelcast 序列化。但是记录 writeData/readData 方法的使用向我们表明,它们实际上并没有被使用!
我们现在还不清楚,如果 Hibernate 代理(通过延迟加载使用)阻止使用 DataSerializable 方法(因为代理本身可能(?)不实现接口)以及 - 更重要的是 - 如果 Hazelcast 支持延迟加载根本 - 以及如何!