Hibernate怎么在控制台查看自动生成的建表语句


hibernate自动建表,通过配置<property name="show_sql">true</property>和<property name="hbm2ddl.auto">create</property>后能自动建表并在控制台显示插入数据的语句,但不能显示建表语句,这是因为hibernate自带的日志环境slf4j-api接口的实现jar包slf4j-nop-1.5.8.jar还不够完美,slf4j-api接口的实现方式很多,要显示建表语句这里需要用log4j的jar包来实现slf4j-api接口,由于log4j不能直接实现slf4j-api接口还需要一个转换器slf4j-log4j12-1.5.8.jar。

所以只要执行以下操作即可实现控制台显示建表语句:

1.移除原来的slf4j-nop-1.5.8.jar加入log4j-1.2.15.jar

2.并加入转换器slf4j-log4j12-1.5.8.jar

3.当然还必须放入接口:slf4j-api-1.5.8.jar

4.在目录hibernate-distribution-3.6.0.Final-dist\hibernate-distribution-3.6.0.Final\project\etc下找到文件log4j.properties,复制到项目src目录下并打开,

可以找到语句:log4j.logger.org.hibernate.tool.hbm2ddl=debug ,这就是用来显示DDL语句的配置,还有其他配置用来显示其他信息,不要的话可以注释掉

5.运行程序查看控制台打印的建表语句.

注:slf4j-log4j12-1.5.8.jar和slf4j-api-1.5.8.jar在同一个slf4j官方下载的版本文件夹里面

下载网站:

http://www.slf4j.org/dist/

http://logging.apache.org/log4j/1.2/download.html

相关内容