java - 使用 hibernate 3 和 logback 时如何打印精确的 sql 查询

标签 java mysql hibernate logback

我使用 logback 作为日志框架,使用 hibernate 3 作为 ORM 工具。我想打印所有 SQL 查询,与在 mysql DB 中执行的完全相同。

我尝试使用 show_sql=true 参数,尽管它只打印 sql,但没有与其绑定(bind)值。

我已经浏览了之前的帖子,并尝试将记录器放入 logback 中以获得所需的结果,但没有成功。

<logger name="org.hibernate.loader.hql" level="TRACE" additivity="false">
    <appender-ref ref="hibernateLogger" />
</logger>

<logger name="org.hibernate.SQL" level="DEBUG" additivity="false">
    <appender-ref ref="hibernateLogger" />
</logger>

即使在定义了这些记录器和附加程序之后,没有绑定(bind)的 sql 也会打印在控制台上,而不是所需的日志文件上

最佳答案

添加此记录器

 <logger name="org.hibernate.type.descriptor.sql.BasicBinder"> 
   <level value="TRACE"/>
 </logger>

关于java - 使用 hibernate 3 和 logback 时如何打印精确的 sql 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42527043/

相关文章:

java - 使用JPA执行数据库功能

mysql - Eclipse Mars 中使用的 Hibernate 和 MySQL 版本

java - 使用按钮从另一个类中的数组填充 JTextArea

mysql - 令人困惑的时间输出

mysql - 用于搜索列中值的子查询

java - hibernate - 使用 addJoin 进行多对一

java - 多线程java程序中不断监控动态更新的文件

java - 给 JList 的消息

java - 如何用Java从系统读取p12文件?

mysql 左连接一个非常大的表 - super 慢