我遇到了ObjectNotFoundException
的问题,其中Hibernate似乎正在执行select
语句,我也没想到它,因为延迟加载是真的。我怀疑与AOP有关,但我不能改变任何东西,因为我正在使用其他人的框架。
我正在考虑在我的日志中生成select语句的位置放置一个断点,这样我就可以看到谁在触发它。什么是Hibernate类我应该设置断点?
答案 0 :(得分:6)
答案 1 :(得分:3)
地狱是其他人的框架。如果配置log4j以获取org.hibernate.SQL的调试级日志记录和org.hibernate.type的跟踪级日志记录,则可以看到Hibernate记录其SQL。但是Hibernate的SQL生成在很大程度上决定了它需要做什么,所以我怀疑这会有所帮助。 SessionImpl有一个ActionQueue,列出了Hibernate将采取的操作,你可能想看看那里显示的内容。
答案 2 :(得分:2)
直到Hibernate行3.6.x
,类FQN为:org.hibernate.jdbc.util.SqlStatementLogger。
从第4.x
行开始,至少等到5.2
该课程为:org.hibernate.engine.jdbc.spi.SqlStatementLogger