Hibernate hbm2ddl.auto DDL语句 控制台输出的配置

在开发中我们需要知道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包的,删除它,因为第二个包已经实现了。

PS:三个JAR包之间的关系如下:

slf4j 是hibernatet提供的一个日志借口,而log4j是具体的日志实现。

slf4j.nop.jar是slf-api.jar其相应的接口实现,
把slf的接口对到log4j的实现
把slf的实现slf4j-nop-1.5.8.jar去掉,添加log4j的实现log4j-1.2.15.jar,再添加一个slf-api和log4j转换器slf4j-log4j12-1.5.8.jar.
把slf的接口转换成log4j的接口.最后添加一个log4j的配置文件log4j.properties

二、配置log4j.properties的配置文件,把它放在SRC下面(和hibernate.cfg.xml放一起)

log4j.properties文件内容如下(可以根据需要修改输出的语句,下面的只输出DDL语句):

### direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.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中,下面语句是没有注释掉的。

<!-- Drop and re-create the database schema on startup -->
<property name="hbm2ddl.auto">create</property>    

  


配置成功,如果调用你的TEST类,会有命令出来,如果没有,关掉你的myEclipse再打开测试。

原文地址:https://www.cnblogs.com/BrowserSnake/p/3641728.html