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