您的位置:首页 > 其它

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

2015-01-07 19:16 239 查看
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:缺少初始化数据。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐