使用Hibernate的 hbm2ddl.auto 属性自动建表

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

更多版本请自行百度。

你可能感兴趣的:(使用Hibernate的 hbm2ddl.auto 属性自动建表)