日期:2014-05-20  浏览次数:20823 次

hibernate如何打印所执行的【原版SQL】语句?
通过配置在控制台打印,在log4j里面打印我都知道,可是输出的sql语句也不是可以直接运行的。例如:
SELECT sdite.strItemName FROM medicine_SysDictionaryItemTableEntity sdite WHERE 1=1 AND sdite.strTableCode='XKZBIANGENGFANWEI' AND sdite.strItemCode='05' 

其中在数据库中medicine_SysDictionaryItemTableEntity表的真实表名是SysDictionaryItemTable,我想问一下有没有能看到原版SQL语句的方法,例如是这样的:
SELECT sdite.sItemName FROM SysDictionaryItemTable sdite WHERE 1=1 AND sdite.sTableCode='XKZBIANGENGFANWEI' AND sdite.sItemCode='05' 
可以直接在MYSQL里面查询的呢?
p6spy我也试了,还是这样的。带点包装的

------解决方案--------------------
hql不是万能的,稍微复杂点的sql语句就很难实现,hql本来就是用了反射机制,楼主可以用反射机制自己反射出自己想要的sql语句