0

我们将 JPA 与 Hibernate 一起使用,并且因为我们在项目中使用 java 内置日志记录,所以我们已经路由 Hibernate 以使用 java.util.logging(JDK 日志记录)(通过包括 slf4j-jdk14-1.6.4.jar )。现在显示 hibernate/JPA 执行的实际查询存在问题。我们已将其添加到persistence.xml 中:

<property name="hibernate.show_sql" value="true" />

这有点帮助,在插入内容时显示更多查询。然而,问号仍然存在。其他答案建议将 org.hibernate.type 设置为 TRACE 以解决此问题,但这是 log4j 特定的建议。我们如何才能真正显示 hibernate 使用的所有参数?谢谢!

4

2 回答 2

0

另一种方法是使用 JDBC Driver Proxy 日志库,如log4jdbc

log4jdbc 使用 Java 的简单日志门面 (SLF4J) 并支持以下日志系统:-

Log4j
java.util logging in JDK 1.4
logback
Jakarta Commons Logging

它支持显示带有参数的 SQL 查询。这是他们文档的摘录

jdbc.sqlonly :- 仅记录 SQL。在准备好的语句中执行的 SQL 会自动显示,其绑定参数替换为在该位置绑定的数据,以大大提高可读性

于 2013-08-08T19:55:14.273 回答
0

创建一个 logging.properties,添加行 org.hibernate.SQL.level=FINEST,并使用 -Djava.util.logging.config.file=/path/to/logging.properties VM 参数启动您的程序

于 2014-01-15T16:31:56.687 回答