Hibernate显示DDL日志设置

1、默认情况下,有些时候需要将实体映射到数据库创建相应的表,因此在sessionFactory配置中需要增加

<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.show_sql">true</prop>

配置好后,hibernate应该就能根据我们配置是实体生成表了,但是默认Hibernate是在日志输出过程中,并不能将创建表打印出来。

这是因为,这是因为hibernate自带的日志环境slf4j-api接口的实现jar包slf4j-nop-1.5.8.jar还不够完美,slf4j-api接口的实现方式很多,要显示建表语句这里需要用log4j的jar包来实现slf4j-api接口,由于log4j不能直接实现slf4j-api接口还需要一个转换器slf4j-log4j12.jar。

于是在需要引入这些jar包。

Maven环境:

<!-- log4 begin -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-api</artifactId>
			<version>1.7.5</version>
		</dependency>
		
		
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-log4j12</artifactId>
			<version>1.7.7</version>
		</dependency>
		
		
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.17</version>
		</dependency>
		
	    <!-- log4 end -->

  lvy环境:

    

<!-- 日志相关lib,会传递依赖log4j jar -->
<dependency org="log4j" name="log4j" rev="1.2.17" conf="compile;runtime" />
<dependency org="org.slf4j" name="slf4j-api" rev="1.7.5" conf="compile;runtime" />
<dependency org="org.slf4j" name="slf4j-log4j12" rev="1.7.7" conf="compile;runtime" />

3、配置Log4j的日志输出属性,在log4j的配置文件,log4j.prpperties文件中添加如下语句:

log4j.logger.org.hibernate=INFO
#show DDL SQL
log4j.logger.org.hibernate.tool.hbm2ddl=DEBUG

猜你喜欢

转载自liuyunlong1229.iteye.com/blog/2198175
DDL