hibernate通过配置文件和方法自动创建表。

         1.通过配置文件来配置。

          Spring和hibernate集合的框架中只要在applicationContext.xml文件中配置如下
     	  <prop key="hibernate.hbm2ddl.auto">update</prop> 

          Hibernate框架中只要在hibernate.cfg.xml里加上如下代码
	  <property name="hbm2ddl.auto">update</property> 

          中间有三个属性,1:create,2:update,create-drop;

         1.create:自动生成新表,但是如果数据库表存在,将会把表删除之后,按照配置文件重新创建表,这将导致原有的表数据全部丢失。
         2.upddate:相对于create来说,不会删除表,会检测先表结构,自动更新表结构,如果没有表将自动创建表。实际应用用的最多的也是这个属性。
	3.create-drop:加载hibernate时,自动创建表,程序关闭时,自动把相应的表都删除。所以程序结束时,表和数据也不会再存在。
        4.validate               加载hibernate时,验证创建数据库表结构
        以上三种方法,都不会自动创建数据库。所以在使用配置来自动创建表的时候,必须要手动创建数据库。


       2.还有一个种方法是通过方法来创建数据库表。
编写一个方法,方法内容如下:
  Configuration conf=new Configuration();
  conf.configure("/hibernate.cfg.xml");
  SchemaExport dbExport=new SchemaExport(conf);
  dbExport.create(true, true);


上面两种方法虽然都能反向创建表。但我个人建议仅在练习中如上述方法创建。因为存在以下问题:
 
1:只能创建表不能创建数据库
2:创建的表的数据类型、长度经常跟我们实际需要不符。
3:第一种方式每次执行都会把以前旧表删除再次创建新表,所以执行完毕后一般要把这个语句注释掉或删除。
4:缺少初始化数据。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值