查找查询执行路径?

时间:2017-11-12 17:38:18

标签: java hibernate

我有一个遗留的Java Web应用程序,我有员工hibernate实体。不知何故,在特定的流程中,hibernate会将查询(HQL)触发  获取员工实体。我尽力找出确切的查询在哪里/为什么会被解雇,但却找不到原因。

hibernate有没有办法告诉我该查询执行的位置和原因?是否有任何类型的配置/设置,如审计可以帮助  在这?

我正在使用hibernate版本5.1

2 个答案:

答案 0 :(得分:0)

您可以在Hibernate代码中的某个合适位置设置断点,然后运行流程并查看其命中的位置。然后,您可以找到导致它在堆栈跟踪中发生的用户代码。

合适的地方可能会操纵User实体,但这意味着您需要了解Hibernate的一些内部工作方式来识别这样的地方。

答案 1 :(得分:0)

您可以使用use_sql_comments或创建空构造函数,并按照finding origin of query

中的建议将调试点放在那里