在Hibernate中跟踪查询源

在Hibernate中跟踪查询源,hibernate,log4j,hql,Hibernate,Log4j,Hql,在Hibernate中,有没有一种方法可以跟踪每个生成的查询来自哪行源代码?我一直在使用调试工具在服务器日志中打印格式良好的HQL查询,但我想知道如何跟踪这些查询在源代码中的生成位置。我也使用Criteria API,我想我知道您为什么问这个问题。问题是在调用list()方法之前很难检查Criteria实例。例如,这个问题涉及检查hibernate Criteria实例,以查看在其上定义了哪些别名 也许这对您来说有一个线索,因为有一个建议是使用Hibernate的CriteriaImpl类,尽

在Hibernate中,有没有一种方法可以跟踪每个生成的查询来自哪行源代码?我一直在使用调试工具在服务器日志中打印格式良好的HQL查询,但我想知道如何跟踪这些查询在源代码中的生成位置。

我也使用Criteria API,我想我知道您为什么问这个问题。问题是在调用list()方法之前很难检查Criteria实例。例如,这个问题涉及检查hibernate Criteria实例,以查看在其上定义了哪些别名

也许这对您来说有一个线索,因为有一个建议是使用Hibernate的CriteriaImpl类,尽管它是一种非标准方法


JPA2标准解决了这个问题吗?

您是如何编写查询的?字符串连接?还是Criteria API?@carbontax:我一直在使用Criteria API。