Hibernate之SchemaExport的使用

@Test

public void testCreateDB(){

Configuration cfg = new Configuration().configure();

SchemaExport se = new SchemaExport(cfg);

//第一个参数 是否生成ddl脚本  第二个参数  是否执行到数据库中

se.create(true, true);

}

发现运行结果是先删除原来的表然后根据映射关系创建了新的表

所以,和hibernate.cfg.xml中的<property name="hbm2ddl.auto">create</property>功能相同

PS:

  hbm2ddl.auto属性是指数据库更新方式:

  1. create:每次执行,都先把原有的数据表删除,然后创建表
  2. create-drop:每次加载hibernate时根据model类生成表,但是sessionFactory一显式关闭,表就自动删除。
  3. validate:启动时验证现有schema与你配置的hibernate是否一致,如果不一致就抛出异常,并不做更新
  4. update:如果表不存在则创建,有就不用创建
原文地址:https://www.cnblogs.com/wyb628/p/6407981.html