hbm2ddl.auto 是Hibernate自动建表的核心属性有四个可选值,create,create-drop,update,validate;
四个值分别表示如下:
create:启动时删数据库中的表,然后创建,退出时不删除数据表
create-drop:启动时删数据库中的表,然后创建,退出时自动删除所有表
update:自动修改,如果表结构与实体类不一致,那么就修改表使它们一致,数据会保留
validate:自动校验,如果表结构与实体类不一致,那么不做任何操作,报错
但是,在实际开发中却会碰到无法自动创建数据库表的情况,其可能原因是:
1.由于实体类的属性中出现了sql关键字
2.由于实用的数据库方言和本地mysql数据库不匹配,可以更换再尝试。
数据库方言如下:
MySQL : org.hibernate.dialect.MySQLDialect
MySQL with InnoDB : org.hibernate.dialect.MySQLInnoDBDialect
MySQL with MyISAM : org.hibernate.dialect.MySQLMyISAMDialect
Oracle (any version) : org.hibernate.dialect.OracleDialect
Oracle 9i/10g : org.hibernate.dialect.Oracle9Dialect
更多版本请自行百度。