为了便于调试、查看生成的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文件夹里,到此为止,配置完成。
 1### direct log messages to stdout ###
 2log4j.appender.stdout=org.apache.log4j.ConsoleAppender
 3log4j.appender.stdout.Target=System.out
 4log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
 5log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
 6
 7### direct messages to file hibernate.log ###
 8#log4j.appender.file=org.apache.log4j.FileAppender
 9#log4j.appender.file.File=hibernate.log
10#log4j.appender.file.layout=org.apache.log4j.PatternLayout
11#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
12
13### set log levels - for more verbose logging change 'info' to 'debug' ###
14
15log4j.rootLogger=warn, stdout
16
17#log4j.logger.org.hibernate=info
18#log4j.logger.org.hibernate=debug
19
20### log HQL query parser activity
21#log4j.logger.org.hibernate.hql.ast.AST=debug
22
23### log just the SQL
24#log4j.logger.org.hibernate.SQL=debug
25
26### log JDBC bind parameters ###
27#log4j.logger.org.hibernate.type=info
28#log4j.logger.org.hibernate.type=debug
29
30### log schema export/update ###
31log4j.logger.org.hibernate.tool.hbm2ddl=debug
32
33### log HQL parse trees
34#log4j.logger.org.hibernate.hql=debug
35
36### log cache activity ###
37#log4j.logger.org.hibernate.cache=debug
38
39### log transaction activity
40#log4j.logger.org.hibernate.transaction=debug
41
42### log JDBC resource acquisition
43#log4j.logger.org.hibernate.jdbc=debug
44
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
48
具体的参数函数,请参考官方文档。

3、运行笔记三里的测试用例,log4j格式的日志输出来了。