在没有看到和检查背后运行的SQL以及相应的绑定输入参数的情况下,我们很容易引入可能长时间存在的性能损失(例如N + 1)。
如果您的项目中已经有Log4J 2,则下面介绍的解决方案非常有用。如果没有,最好依赖于TRACE或log4jdbc(谢谢谢尔盖·波兹南斯基的建议和 SO 解决方式)。这两种方法都不需要排除Spring Boot的默认日志记录。TRACE例子可以发现 在这里 ,例子log4jdbc 在这里 。
基于Log4J 2的描述:在开发应用程序时,维护对于查看和检查预准备的语句绑定参数值而不是假设它们很有用。一种方法是通过Log4J 2记录器设置。
关键点:
<Logger name="org.hibernate.type.descriptor.sql" level="trace"/>
源代码可以在 这里 找到