为了便于调试、查看生成的SQL,因此我们需要查看Hibernate自动帮我们生成的SQL语句,Hibernate本身自带了slf4j-1.5.8日志框架(此框架目前好像不是很流行)。访问log4j官方网站http://logging.apache.org/,去下载JAR包。以下为具体配置方法。
1、将在笔记一里的User Libraries打开,删除里面的slf4j实现函数包文件slf4j-nop-1.5.8.jar,然后把slf4j-1.5.8文件夹里的slf4j-log4j12-1.5.8.jar包加进来,此包的作用是将slf4j生成的日志转换成log4j框架的格式,再把apache-log4j-1.2.16文件夹里的log4j-1.2.16.jar包也添加进来(注意包的版本兼容性)。
2、到hibernate-distribution-3.5.6-Final\project\etc目录里找到log4j.properties(此文件为Logo4j的配置文件,内容如下所示)文件,将此文件复制到项目src文件夹里,到此为止,配置完成。
### direct log messages to stdout ###2
log4j.appender.stdout
=
org.apache.log4j.ConsoleAppender3
log4j.appender.stdout.Target
=
System.out4
log4j.appender.stdout.layout
=
org.apache.log4j.PatternLayout5
log4j.appender.stdout.layout.ConversionPattern
=
%d{ABSOLUTE} %5p %c{
1
}:%L - %m%n6

7
### direct messages to file hibernate.log ###8
#log4j.appender.file
=
org.apache.log4j.FileAppender9
#log4j.appender.file.File
=
hibernate.log10
#log4j.appender.file.layout
=
org.apache.log4j.PatternLayout11
#log4j.appender.file.layout.ConversionPattern
=
%d{ABSOLUTE} %5p %c{
1
}:%L - %m%n12

13
### set log levels - for more verbose logging change 'info' to 'debug' ###14

15
log4j.rootLogger
=
warn
,
stdout16

17
#log4j.logger.org.hibernate
=
info18
#log4j.logger.org.hibernate
=
debug19

20
### log HQL query parser activity21
#log4j.logger.org.hibernate.hql.ast.AST
=
debug22

23
### log just the SQL24
#log4j.logger.org.hibernate.SQL
=
debug25

26
### log JDBC bind parameters ###27
#log4j.logger.org.hibernate.type
=
info28
#log4j.logger.org.hibernate.type
=
debug29

30
### log schema export/update ###31
log4j.logger.org.hibernate.tool.hbm2ddl
=
debug32

33
### log HQL parse trees34
#log4j.logger.org.hibernate.hql
=
debug35

36
### log cache activity ###37
#log4j.logger.org.hibernate.cache
=
debug38

39
### log transaction activity40
#log4j.logger.org.hibernate.transaction
=
debug41

42
### log JDBC resource acquisition43
#log4j.logger.org.hibernate.jdbc
=
debug44

45
### enable the following line if you want to track down connection ###46
### leakages when using DriverManagerConnectionProvider ###47
#log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider
=
trace
本文介绍如何通过配置log4j来查看Hibernate自动生成的SQL语句,包括配置步骤及log4j.properties文件的具体设置。

被折叠的 条评论
为什么被折叠?



