我正在开发的示例应用程序继续将所有Hibernate查询写入Tomcat控制台。我的意思是如果你在Windows上启动Tomcat,你将会打开一个小小的applet窗口。 Hibernate不断编写所有数据访问代码,如'Hibernate:select table10_.col1 as COL10_,table10_.col2 as COL20 _,...“我想知道是否有任何配置我可以为Hibernate设置将这些查询写入某种日志文件?可能是tomcat / logs下的localhost-log?
答案 0 :(得分:3)
那不是日志,它是Hibernate的“show_sql”。查找名为“hibernate.show_sql”的属性设置为“true”。将其更改为false或完全删除它以摆脱它们。然后查看Hibernate参考中的the Configuration chapter,了解如何在Hibernate中设置SQL日志记录。
答案 1 :(得分:1)
@ Ryan-Stewart是对的,但它可以是Pass through Java JDBC驱动程序,可以为其他JDBC驱动程序记录SQL
和/或JDBC calls
。
使用hibernate的日志记录,您的日志记录类似于:
select bs0_.A_REF as A2_7_0_ from B bs0_ where bs0_.other = 0 and bs0_.A_REF=?
TRACE 2011-08- 03 00:30:45,317 binding '123' to parameter: 1
请注意'?'而不是真实的参数值。
使用Pass through JDBC驱动程序,您的日志记录类似于:
select bs0_.A_REF as A2_7_0_ from B bs0_ where bs0_.other = 0 and bs0_.A_REF=123
解析所有绑定参数。
log4jdbc是其中一个通过JDBC驱动程序。