事实证明,此异常是由于Hibernate中的错误所致。我的一个队友发现了一个相关的错误报告: 从群集的JBoss
Cache重新组装实体可能会因“参数类型不匹配”而失败
,这是在使用Hibernate和JBoss Cache时发生的。
根据该报告,将Hibernate属性设置
hibernate.cache.use_structured_entries为 true
可以避免该异常。根据Hibernate
文档,此属性“强制Hibernate以更人性化的格式将数据存储在二级缓存中”。显然,结构化缓存条目还可以确保Hibernate将第二级缓存中的对象属性正确映射到实体中的相应属性。
Javalobby有一篇有趣的文章,解释了Hibernate如何使用二级缓存。
3.3.2GA之后的Hibernate版本是否也表现出这种行为?



