JPA + Hibernate + java.util.logging(JDK logging):显示带参数的sql查询

时间:2013-08-08 19:40:29

标签: sql hibernate jpa logging

我们正在使用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使用的所有参数?谢谢!

2 个答案:

答案 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参数启动程序

相关问题