获得hibernate的sql语句
我们知道hibernate会将hql解析成sql,也许在某些时候,我们需要这些sql。
不过hibernate的接口中没有公开的api,看来我们得自己行动了。
1.开始前的工作
1.1 知道如何阅读javadoc api
1.2 知道如何使用ant编译hibernate源码包
1.3 hibernate源码包在hibernate压缩包的src目录,api文档在doc目录
2.在执行Query.list()方法时,hibernate在控制台输出sql。从api文档中我们知道, Query接口有个实现类是net.sf.hibernate.impl.AbstractQueryImpl,但这个虚类中并没有实现list方法,继续查该类的子类net.sf.hibernate.impl.QueryImpl,呵呵,找到了。
listpublic List list() throws HibernateException
|
3.查看net.sf.hibernate.impl.QueryImpl源代码,发现这里吧实