Hibernate 休眠二级缓存&x2B;尝试从缓存中获取数据(对象列表)时出现Ehcache问题

Hibernate 休眠二级缓存&x2B;尝试从缓存中获取数据(对象列表)时出现Ehcache问题,hibernate,caching,ehcache,Hibernate,Caching,Ehcache,我可以从缓存中获取数据,但只能通过使用HibernateTemplate.load(类entityClass,可序列化id)获取一个对象的数据 但是当我试图使用loadAll(),getHibernateTemplate().find(strQuery),Query.list(),从缓存中获取对象列表时。。。这些所有方法将再次命中数据库并尝试再次缓存数据,并在记录器中显示警报: [2012-03-08 06:56:10,050] [DEBUG] [org.hibernate.cache.Read

我可以从缓存中获取数据,但只能通过使用
HibernateTemplate.load(类entityClass,可序列化id)
获取一个对象的数据

但是当我试图使用
loadAll
(),
getHibernateTemplate().find(strQuery)
Query.list()
,从缓存中获取对象列表时。。。这些所有方法将再次命中数据库并尝试再次缓存数据,并在记录器中显示警报:

[2012-03-08 06:56:10,050] [DEBUG] [org.hibernate.cache.ReadOnlyCache] [**item already cached:** com.uprr.app.rim.components.masters.domain.CommPlaceTypeDO#**180**]
[2012-03-08 06:56:10,050] [DEBUG] [org.hibernate.cache.ReadOnlyCache] [item already cached: com.uprr.app.rim.components.masters.domain.CommPlaceTypeDO#**169**]
[2012-03-08 06:56:10,050] [DEBUG] [org.hibernate.cache.ReadOnlyCache] [item already cached: com.uprr.app.rim.components.masters.domain.CommPlaceTypeDO#**166**]
[2012-03-08 06:56:10,050] [DEBUG] [org.hibernate.cache.ReadOnlyCache] [item already cached: com.uprr.app.rim.components.masters.domain.CommPlaceTypeDO#**139**]
[2012-03-08 06:56:10,050] [DEBUG] [org.hibernate.cache.ReadOnlyCache] [item already cached: com.uprr.app.rim.components.masters.domain.CommPlaceTypeDO#140]
[2012-03-08 06:56:10,050] [DEBUG] [org.hibernate.cache.ReadOnlyCache] [item already cached: com.uprr.app.rim.components.masters.domain.CommPlaceTypeDO#138]
[2012-03-08 06:56:10,050] [DEBUG] [org.hibernate.cache.ReadOnlyCache] [item already cached: com.uprr.app.rim.components.masters.domain.CommPlaceTypeDO#149]
[2012-03-08 06:56:10,050] [DEBUG] [org.hibernate.cache.ReadOnlyCache] [item already cached: com.uprr.app.rim.components.masters.domain.CommPlaceTypeDO#143]
[2012-03-08 06:56:10,050] [DEBUG] [org.hibernate.cache.ReadOnlyCache] [item already cached: com.uprr.app.rim.components.masters.domain.CommPlaceTypeDO#130]
[2012-03-08 06:56:10,050] [DEBUG] [org.hibernate.cache.ReadOnlyCache] [item already cached: com.uprr.app.rim.components.masters.domain.CommPlaceTypeDO#142]
[2012-03-08 06:56:10,050] [DEBUG] [org.hibernate.cache.ReadOnlyCache] [item already cached: com.uprr.app.rim.components.masters.domain.CommPlaceTypeDO#165]
[2012-03-08 06:56:10,050] [DEBUG] [org.hibernate.cache.ReadOnlyCache] [item already cached: com.uprr.app.rim.components.masters.domain.CommPlaceTypeDO#167]
[2012-03-08 06:56:10,050] [DEBUG] [org.hibernate.cache.ReadOnlyCache] [item already cached: com.uprr.app.rim.components.masters.domain.CommPlaceTypeDO#168]

当激活二级缓存时,我实际上面临着同样的问题&试图缓存我的标准

如果我没有将cacheable设置为true

更新:我终于找到了解决方案,问题来自我的hibernate版本。我在Hibernate3.2中。升级到3.6.9解决了我的问题:)


希望能有帮助

在激活二级缓存时,我实际上面临着同样的问题&试图缓存我的标准

如果我没有将cacheable设置为true

更新:我终于找到了解决方案,问题来自我的hibernate版本。我在Hibernate3.2中。升级到3.6.9解决了我的问题:)


希望能有帮助

任何人都可以在这个问题上帮助我???摆脱你的警告,试试看……这里没有什么可谈的。“[WARN][org.hibernate.mapping.RootClass][composite id class没有覆盖equals():com.uprr.app.rim.components.exinterface.domain.Track][2012-03-06 04:34:20270][WARN][org.hibernate.mapping.RootClass][composite id class没有覆盖hashCode():”删除了警告,但仍然存在相同的问题..:(字符串strQuery“从CommPlaceTypeDO commPlaceType,其中commPlaceType.activeflag=:someName;会话=getHibernateTemplate().getSessionFactory().openSession();查询=会话.createQuery(strQuery);Query.setCacheable(true);Query.setCacheRegion(“Query.cacheName”);Query.setString(“someName”,“C”);如果我正在执行此设置CacheAble(对);获取异常-------java.lang.ClassCastException:net.sf.ehcache.store.chm.SelectableConcurrentHashMap$DummyPinnedKey不能强制转换为org.hibernate.cache.QueryKeysomeone谁能回答?请感谢****:(任何人都可以在这个问题上帮助我???摆脱你的警告并尝试一下…..这里没有太多内容。”[警告][org.hibernate.mapping.RootClass][composite id class没有覆盖equals():com.uprr.app.rim.components.exinterface.domain.Track][2012-03-06 04:34:20270][WARN][org.hibernate.mapping.RootClass][composite id class没有覆盖hashCode():“删除了警告,但仍然遇到同样的问题…”(字符串strQuery从CommPlaceTypeDO commPlaceType,其中commPlaceType.activeflag=:someName;会话=getHibernateTemplate().getSessionFactory().openSession();查询=会话.createQuery(strQuery);Query.setCacheable(true);Query.setCacheRegion(“Query.cacheName”);Query.setString(“someName”,“C”);如果我正在执行此设置Cacheable(对);获取异常-------java.lang.ClassCastException:net.sf.ehcache.store.chm.SelectableConcurrentHashMap$DummyPinnedKey无法强制转换为org.hibernate.cache.QueryKeysomeone谁能回答?请感谢****:(是的,它帮助了我。谢谢:)是的,它帮助了我。谢谢:)
[2012-03-08 06:56:10,050] [DEBUG] [org.hibernate.cache.ReadOnlyCache] [**item already cached:** com.uprr.app.rim.components.masters.domain.CommPlaceTypeDO#**180**]
[2012-03-08 06:56:10,050] [DEBUG] [org.hibernate.cache.ReadOnlyCache] [item already cached: com.uprr.app.rim.components.masters.domain.CommPlaceTypeDO#**169**]
[2012-03-08 06:56:10,050] [DEBUG] [org.hibernate.cache.ReadOnlyCache] [item already cached: com.uprr.app.rim.components.masters.domain.CommPlaceTypeDO#**166**]
[2012-03-08 06:56:10,050] [DEBUG] [org.hibernate.cache.ReadOnlyCache] [item already cached: com.uprr.app.rim.components.masters.domain.CommPlaceTypeDO#**139**]
[2012-03-08 06:56:10,050] [DEBUG] [org.hibernate.cache.ReadOnlyCache] [item already cached: com.uprr.app.rim.components.masters.domain.CommPlaceTypeDO#140]
[2012-03-08 06:56:10,050] [DEBUG] [org.hibernate.cache.ReadOnlyCache] [item already cached: com.uprr.app.rim.components.masters.domain.CommPlaceTypeDO#138]
[2012-03-08 06:56:10,050] [DEBUG] [org.hibernate.cache.ReadOnlyCache] [item already cached: com.uprr.app.rim.components.masters.domain.CommPlaceTypeDO#149]
[2012-03-08 06:56:10,050] [DEBUG] [org.hibernate.cache.ReadOnlyCache] [item already cached: com.uprr.app.rim.components.masters.domain.CommPlaceTypeDO#143]
[2012-03-08 06:56:10,050] [DEBUG] [org.hibernate.cache.ReadOnlyCache] [item already cached: com.uprr.app.rim.components.masters.domain.CommPlaceTypeDO#130]
[2012-03-08 06:56:10,050] [DEBUG] [org.hibernate.cache.ReadOnlyCache] [item already cached: com.uprr.app.rim.components.masters.domain.CommPlaceTypeDO#142]
[2012-03-08 06:56:10,050] [DEBUG] [org.hibernate.cache.ReadOnlyCache] [item already cached: com.uprr.app.rim.components.masters.domain.CommPlaceTypeDO#165]
[2012-03-08 06:56:10,050] [DEBUG] [org.hibernate.cache.ReadOnlyCache] [item already cached: com.uprr.app.rim.components.masters.domain.CommPlaceTypeDO#167]
[2012-03-08 06:56:10,050] [DEBUG] [org.hibernate.cache.ReadOnlyCache] [item already cached: com.uprr.app.rim.components.masters.domain.CommPlaceTypeDO#168]