我一直在读一些歌,但我仍然困惑。 为什么? 因为你提到的差异与performance无关。 它们与易用性有关(Objetc(标准)和SQL(hql))。 但我想知道是否由于某些原因,“标准”比hql慢。 我在另一个口中读到这个 “HQL和criteriaQuery之间在性能上有所不同,每次使用criteriaQuery启动查询时,它会为表名称创build一个新的别名,而不会在任何数据库的最后一次查询caching中反映出来。编译生成的SQL,需要更多的时间来执行。“ 由Varun Mehta。 这非常接近但是! 我读了另一个网站(http://gary-rowe.com/agilestack/tag/hibernate/)这不再是这种情况与Hibernate 3.3及以上(请阅读:9)Hibernate是缓慢的,因为SQL生成的标准接口不一致) 我已经做了一些testing,试图找出差异,但都生成qry的,它不会改变表的别名。 我很困惑。 如果有人知道主要原因,你能帮助我们吗? 谢谢