我在我的eclipse IDE中创建了一个Maven项目,并尝试编写简单的hibernate程序。但我无法看到由hibernate生成的最终查询,其中还包括绑定参数。
我也按照这里提到的帖子:Hibernate show real SQL,但没有帮助。
我有以下配置:
在我的hibernate.cfg.xml
文件中,我有:
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<property name="use_sql_comments">true</property>
我还放置了log4j.properties
文件及其内容:
log4j.logger.org.hibernate=INFO, hb
log4j.logger.org.hibernate.SQL=DEBUG
log4j.logger.org.hibernate.type=TRACE
log4j.logger.org.hibernate.hql.ast.AST=info
log4j.logger.org.hibernate.tool.hbm2ddl=warn
log4j.logger.org.hibernate.hql=debug
log4j.logger.org.hibernate.cache=info
log4j.logger.org.hibernate.jdbc=debug
log4j.logger.net.sf.hibernate.type=debug
log4j.appender.hb=org.apache.log4j.ConsoleAppender
log4j.appender.hb.layout=org.apache.log4j.PatternLayout
log4j.appender.hb.layout.ConversionPattern=HibernateLog --> %d{HH:mm:ss} %-5p %c - %m%n
log4j.appender.hb.Threshold=TRACE
hibernate.cfg.xml
和log4j.properties
都位于路径:
MyProject/src/main/java/log4j.properties
但是当我运行一个小程序时,我无法看到由hibernate添加的绑定参数,我只是看到下面的结果:
Hibernate:
select
this_.ID as ID1_0_0_,
this_.NAME as NAME2_0_0_
from
MY_TABLE this_
我正在使用Hibernate-4.3
答案 0 :(得分:1)
在SLF4J
中添加pom.xml
依赖项解决了我的问题:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.6</version>
</dependency>
答案 1 :(得分:0)
更改此行:
log4j.logger.net.sf.hibernate.type=debug
为:
log4j.logger.org.hibernate.type=trace
你应该得到bind参数。
答案 2 :(得分:0)
log4j.properties
文件必须位于以下目录中:
MyProject/src/main/resources/log4j.properties
因此,log4j将在类路径中找到此文件,而无需任何其他配置。
另请参阅Introduction to the Standard Directory Layout网页中的Apache Maven。
您可能希望看到下一个问题: Logging server logs to one file and SQL logs to another 。