【SSH高速进阶】——Hibernate自动建表

【SSH快速进阶】——Hibernate自动建表


  上文《【SSH快速进阶】——Hibernate环境搭建》中介绍了Hibernate环境搭建,环境搭建好了, 但是还没有数据库和表,Hibernate为提供了自动建表的功能。


                                       (摘自——Hibernate 自动创建表的方法

  我们从网上搜索到的hibernate源码中很多时候只有vo和配置文件,但没有创建表的sql脚本。


  很多时候需要我们反向创建表。一般情况下有如下两种方法:

  1、在配置文件中添加如下配置

<property name="hibernate.hbm2ddl.auto">create</property>

  然后我们再执行任何检索、更新等操作的时候就会自动建表


  2、编写一个方法,方法内容如下:

  Configuration conf=new Configuration();
  conf.configure("/hibernate.cfg.xml");
  SchemaExport dbExport=new SchemaExport(conf);
  dbExport.create(true, true);


  上面两种方法虽然都能反向创建表。但我个人建议仅在练习中如上述方法创建。因为存在以下问题:

  ① 只能创建表不能创建数据库
  ② 创建的表的数据类型、长度经常跟我们实际需要不符。
  ③ 第一种方式每次执行都会把以前旧表删除再次创建新表,所以执行完毕后一般要把这个语句注释掉或删除。
  ④ 缺少初始化数据。




【 原创不易,转载请注明出处——胡玉洋《【SSH快速进阶】——Hibernate自动建表》】



版权声明:本文为博主原创文章,未经博主允许不得转载。

3楼u010176014昨天 20:52
系列博客 小胡真的好踏实
Re: huyuyang6688昨天 23:20
回复u010176014n向小妹学习~~——tt[url=http://blog.****.net/huyuyang6688]Danny[/url]
2楼u010066934昨天 10:01
嘿嘿~hibernate还没学,只是觉得自动建表这块挺好玩的
1楼u0100965264天前 00:40
很实用,谢谢小兔子分享,加油。n尽量把代码放在代码框里,看着整齐。
Re: huyuyang66884天前 09:22
回复u010096526n恩恩,欢迎星哥常来哦!——[url=http://blog.****.net/huyuyang6688]Danny[/url]