配置Hibernate显示SQL语句可通过三种方式:在hibernate.cfg.xml中设置show_sql、format_sql和use_sql_comments属性;2. Spring Boot项目在application.yml或properties中配置spring.jpa.show-sql和format-sql;3. 结合Logback等日志框架,将org.hibernate.SQL设为DEBUG级别,BasicBinder设为TRACE以查看SQL及参数值。

在开发过程中,查看 Hibernate 执行的 SQL 语句有助于调试和优化数据库操作。可以通过修改配置文件或代码设置,让 Hibernate 在控制台输出实际生成的 SQL。
如果你使用的是 hibernate.cfg.xml 配置文件,添加以下属性:
示例配置:
<property name="hibernate.show_sql">true</property> <property name="hibernate.format_sql">true</property> <property name="hibernate.use_sql_comments">true</property>
如果项目基于 Spring Boot,在 application.yml 或 application.properties 中设置:
application.yml:
spring:
jpa:
show-sql: true
format-sql: true
hibernate:
use-new-id-generator-mappings: false
application.properties:
spring.jpa.show-sql=true spring.jpa.format-sql=true
注意:Spring Boot 默认使用 JPA,因此需配置 spring.jpa.* 而非原生 hibernate 属性。
仅开启 show_sql 可能不够灵活。建议配合日志框架(如 Logback 或 Log4j2)启用 Hibernate 的 SQL 日志包:
例如,在 logback-spring.xml 中添加:
<logger name="org.hibernate.SQL" level="DEBUG"/> <logger name="org.hibernate.type.descriptor.sql.BasicBinder" level="TRACE"/>
这样不仅能看见 SQL,还能看到传入的参数值,极大提升调试效率。
基本上就这些,配置后重启应用,执行持久化操作就能在控制台看到 SQL 输出了。
以上就是hibernate 中如何在控制台查看打印的 sql 语句?的详细内容,更多请关注php中文网其它相关文章!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号