我们正在使用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使用的所有参数?谢谢!
答案 0 :(得分:0)
替代方法是使用JDBC驱动程序代理日志库,如log4jdbc
log4jdbc使用Simple Logging Facade for Java(SLF4J)并支持以下日志记录系统: -
Log4j
java.util logging in JDK 1.4
logback
Jakarta Commons Logging
它支持使用参数显示SQL查询。这是他们的文档的摘录
jdbc.sqlonly: - 仅记录SQL。 SQL在预准备语句中执行 自动显示它的绑定参数替换为数据 绑定在那个位置,大大提高了可读性
答案 1 :(得分:0)
创建logging.properties,添加行org.hibernate.SQL.level = FINEST,并使用-Djava.util.logging.config.file = / path / to / logging.properties VM参数启动程序