昨天给程序加上了2级缓存,今天打开查询统计页面,就报错:
ava.lang.ArrayIndexOutOfBoundsException: 0
at org.hibernate.type.TypeHelper.disassemble(TypeHelper.java:146)
at org.hibernate.cache.StandardQueryCache.put(StandardQueryCache.java:106)
at org.hibernate.loader.Loader.putResultInQueryCache(Loader.java:2434)
at org.hibernate.loader.Loader.listUsingQueryCache(Loader.java:2321)
才开始以为是java 版本换了的原因,最后直接搜索错误找到了这样个bug:
ArrayIndexOutOfBoundsException on enabling cache for a Native SQL query
高版本的已经修订了这个错误,但换hibernate 版本肯定又一堆问题,所以在使用native sql query 的时候加上:
q.setCacheable(false);
这样 就OK 了,2级缓存 语句缓存同意还是开启的,本地sql 查询禁用2级查询缓存就可以了
来源:oschina
链接:https://my.oschina.net/u/180750/blog/37442