在开发中我们需要知道hbm2ddl.auto生成的SQL语句,来判断代码的正确性,现在记录配置的过程。
Hibernate的DDL语句在控制台的输出配置:
一、在lib中确保只有下面的三个相关包:1)slf4j-api-1.5.8.jar 2)log4j-1.2.15.jar 3)slf4j-log4j12-1.5.8.jar
简单说明三个包,第一个包用来提供API接口,第二个包用来实现第一个包的接口的内容,第三个包把第一个包的接口和log44j的接口对应起来,三个缺一不口,注意,如果在你的lib中还有一个名为slf4j-nop-1.5.8.jar包的,删除它,因为第二个包已经实现了。
二、配置log4j.properties的配置文件,把它放在SRC下面(和hibernate.cfg.xml放一起)
log4j.properties文件内容如下(可以根据需要修改输出的语句,下面的只输出DDL语句):
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47 |
### direct log messages to stdout ###log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.Target=System.outlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c:%L - %m%n### direct messages to file hibernate.log ####log4j.appender.file=org.apache.log4j.FileAppender#log4j.appender.file.File=hibernate.log#log4j.appender.file.layout=org.apache.log4j.PatternLayout#log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n### set log levels - for more verbose logging change ‘info‘ to ‘debug‘ ###log4j.rootLogger=warn, stdout#log4j.logger.org.hibernate=info#log4j.logger.org.hibernate=debug### log HQL query parser activity#log4j.logger.org.hibernate.hql.ast.AST=debug### log just the SQL#log4j.logger.org.hibernate.SQL=debug### log JDBC bind parameters ####log4j.logger.org.hibernate.type=info#log4j.logger.org.hibernate.type=debug### log schema export/update ###log4j.logger.org.hibernate.tool.hbm2ddl=debug### log HQL parse trees#log4j.logger.org.hibernate.hql=debug### log cache activity ####log4j.logger.org.hibernate.cache=debug### log transaction activity#log4j.logger.org.hibernate.transaction=debug### log JDBC resource acquisition#log4j.logger.org.hibernate.jdbc=debug### enable the following line if you want to track down connection ###### leakages when using DriverManagerConnectionProvider ####log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=trace |
!注意在你的hibernate.cfg.xml中,下面语句是没有注释掉的。
|
1
2 |
<!-- Drop and re-create the database schema on
startup --><property name="hbm2ddl.auto">create</property> |
配置成功,如果调用你的TEST类,会有命令出来,如果没有,关掉你的myEclipse再打开测试。
Hibernate hbm2ddl.auto DDL语句 控制台输出的配置,布布扣,bubuko.com
Hibernate hbm2ddl.auto DDL语句 控制台输出的配置
原文:http://www.cnblogs.com/BrowserSnake/p/3641728.html