日期:2014-05-16  浏览次数:20433 次

通过HIBERNATE查询慢,直接在数据库中执行快的问题
   今天遇到一个非常怪异的问题,一个HQL通过hibernate执行大概需要1100秒左右,但把这个HQL生成的SQL直接到数据库中执行,却只要2-3秒,差距非常大,试了N种方法不能解决,最后发现表中有个字段映射是“Boolean--Number”,java中是boolean,数据库中是number,HQL中查询条件写的是 boolean=?,参数是用的boolean类型,如果直接改用1或0,执行速度就能达到2-3秒,问题解决,但尚且不知道问题发生原因,如果有哪位高人知道,请告知,不胜感激。