hibernate的console显示DDL信息

控制台不显示建表语句信息,需要手动数据库输入命令查看,个人感觉很麻烦,而且没有console显示的详细。(console可以详细显示主键的参考信息,以此来判断对象映射关系是否正确)

如下两种方法:

1.hibernate.cfg.xml+log4j

    第一步:hibernate.cfg.xml中修改配置信息     <property name="hbm2ddl.auto">create</property>

  • create:hibernate 每次启动删除原来的表,创建新的表,之前的数据不能保存
  • update:自动根据model对象更新表结构,启动hibernate时会自动检查数据库,缺少表,自动创建表;缺少列,增加列,多余的列不会删除。类型不一样,不会修改类型。
  • create-drop:启动hibernate,自动创建表,程序关闭后,自动将创建好的表删除。程序结束后,数据和表都不存在。
  • validate:自动校验。表结构以及表是否存在

    第二步:Hibernate自身使用slf4j实现对日志的记录,加载日志运行需要的lib

sfl4j-api.jar          slf的api

log4j-api.jar          log4j的api

slf4j-log4j.jar        添加适配器

slf4j-nop.jar           实现slf4j nodep,需要去掉

   第三步:创建log4j.properties(可直接从\hibernate-distribution-3.3.2.GA\project\etc下取)复制到src下,再次运行测试即可显示DDL

log4j.logger.org.hibernate.tool.hbm2ddl=debug    此处值为debug


2.SchemaExport

    junit case 中代码如下:

@BeforeClass
	public static void beforeClass() {
		new SchemaExport(new AnnotationConfiguration().configure()).create(false, true);
		sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();//此处不是关注点
	}

new SchemaExport(new AnnotationConfiguration().configure()).create(true,true)  解析:

第一个true:在控制台显示表创建的语句

第二个true:讲创建表的sql导入到数据库中,建表


附录:内容参考url   http://blog.sina.com.cn/s/blog_8020e41101010ukn.html

    

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值