我有一个遗留的Java Web应用程序,我有员工hibernate实体。不知何故,在特定的流程中,hibernate会将查询(HQL)触发 获取员工实体。我尽力找出确切的查询在哪里/为什么会被解雇,但却找不到原因。
hibernate有没有办法告诉我该查询执行的位置和原因?是否有任何类型的配置/设置,如审计可以帮助 在这?
我正在使用hibernate版本5.1
答案 0 :(得分:0)
您可以在Hibernate代码中的某个合适位置设置断点,然后运行流程并查看其命中的位置。然后,您可以找到导致它在堆栈跟踪中发生的用户代码。
合适的地方可能会操纵User
实体,但这意味着您需要了解Hibernate的一些内部工作方式来识别这样的地方。
答案 1 :(得分:0)
您可以使用use_sql_comments
或创建空构造函数,并按照finding origin of query