使用Hibernate的 hbm2ddl.auto 屬性自動建表

hbm2ddl.auto 是Hibernate自動建表的核心屬性有四個可選值,create,create-drop,update,validate;mysql

四個值分別表示以下:sql

create:啓動時刪數據庫中的表,而後建立,退出時不刪除數據表數據庫

create-drop:啓動時刪數據庫中的表,而後建立,退出時自動刪除全部表spa

update:自動修改,若是表結構與實體類不一致,那麼就修改表使它們一致,數據會保留hibernate

validate:自動校驗,若是表結構與實體類不一致,那麼不作任何操做,報錯ci

可是,在實際開發中卻會碰到沒法自動建立數據庫表的狀況,其可能緣由是:開發

1.因爲實體類的屬性中出現了sql關鍵字it

2.因爲實用的數據庫方言和本地mysql數據庫不匹配,能夠更換再嘗試。io

數據庫方言以下:百度

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

更多版本請自行百度。

相關文章
相關標籤/搜索