Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java HQL无法获取完整记录_Java_Hibernate_Hql - Fatal编程技术网

Java HQL无法获取完整记录

Java HQL无法获取完整记录,java,hibernate,hql,Java,Hibernate,Hql,我遇到了一个非常奇怪的情况,那就是我有一个sql查询,它从一个表中获取所有列,然后在我的代码中,我将其转换为HQL,然后HQL的结果最终存储在一个列表中,但当我调试和检查列表的大小时,它是8472,当我对该sql查询进行计数时,它的计数是8533,这显然比HQL获取的要多,现在我想知道为什么HQL没有获取所有记录,或者如果它正在获取所有记录,那么它们的列表中没有存储所有记录……下面是我的sql查询和HQL查询 SELECT Count(*) FROM (SELECT * from pos_to

我遇到了一个非常奇怪的情况,那就是我有一个sql查询,它从一个表中获取所有列,然后在我的代码中,我将其转换为HQL,然后HQL的结果最终存储在一个列表中,但当我调试和检查列表的大小时,它是8472,当我对该sql查询进行计数时,它的计数是8533,这显然比HQL获取的要多,现在我想知道为什么HQL没有获取所有记录,或者如果它正在获取所有记录,那么它们的列表中没有存储所有记录……下面是我的sql查询和HQL查询

SELECT Count(*) FROM  (SELECT * from pos_took) //total count is 8533
HQL是

List<POSTOOK> books = session.findAll(POSTOOK.class); /size of list is less 8472
List books=session.findAll(POSTOOK.class)/列表的大小小于8472
请建议如何克服这种情况。 各位,请提供建议,如能尽早提供帮助,我将不胜感激。我发现第二级cahce已启用,请提供下一步建议


大家好,我仍然无法解决这个问题,请您提供建议。

检查您的hibernate缓存/2级缓存设置。Hibernate可能会缓存查询以提高效率您是否在实体上实现了类似的接口?因为可以删除重复的记录(如果不包括在您的可比方法id字段中)@gerrytan我需要检查哪些设置,请您建议,Thanks@gerrytan是的,你是瑞特,缓存使用读写标签在那里请告知我是否应该对其进行注释,以便我的查询获取所有记录。如果不了解您的业务需求,很难就缓存设置向您提供建议。你需要阅读