我们从网上搜索到的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);
上面两种方法虽然都能反向创建表。但我个人建议仅在练习中如上述方法创建。因为存在以下问题:
1:只能创建表不能创建数据库
2:创建的表的数据类型、长度经常跟我们实际需要不符。
3:第一种方式每次执行都会把以前旧表删除再次创建新表,所以执行完毕后一般要把这个语句注释掉或删除。
4:缺少初始化数据。
转自:http://blog.sina.com.cn/s/blog_53a99cf30100f4b0.html