テスト環境:Eclipseの201903; Hibernateは5.4.3、MySQLの5.7
現象:
hibernate.cfg.xml構成ファイルには、明確に次の文を書かれたので、テーブルが存在しない場合でも、Hibernateは自動的に作成することができるはずです
< プロパティ名= "hibernate.hbm2ddl.auto" >更新</ プロパティ>
しかし、実行時エラーコンソール:
WARN:SQLエラー:1146 、SQLStateの:42S02の
ERROR:表' hiber01.tuserは' doesnの" tが存在します
理由:
1146年には、エラーの原因である:デフォルトのデータで指定されたテーブルを見つけることができません。
5.0 =「****」エンジンを使用することになります後、MySQL5.0の前に使用=「****」タイプでは方言でバージョンをHibernateとMySQLは一致していない、SQL文。
ソリューション:
hibernate.cfg.xmlのを修正
1 MySQL5.0の以前の構成 2 < プロパティ名= "方言" > org.hibernate.dialect.MySQLDialect </ プロパティ> 3 。4 MySQL5.0の後に配置された 。5 < プロパティ名= "方言" > org.hibernate.dialect。 MySQL5Dialect </ プロパティ>
dialect.MySQL、table文の結果の建設を使用します。
休止状態: 作成 テーブルの学生( IDの整数 ではない ヌル、 名前はvarchar(255 )、 年齢の整数、 主 キー(id)を )タイプ= MyISAMテーブルを
dialect.MySQL5、table文の結果の建設を使用した後:
休止状態: 作成 テーブル教師( IDの整数 ではない ヌル、 年齢の整数 ではない ヌル、 名前はvarchar(255 )、 QQの整数 ではない ヌル、 主 キー(ID) )エンジン= MyISAMテーブルを
すべてのすべてで、それは言葉であります
MySQL5.0の之前<プロパティ名= "方言"> org.hibernate.dialect.MySQLDialect </プロパティ>
MySQL5.0の之后<プロパティ名= "方言"> org.hibernate.dialect.MySQL5Dialect </プロパティ>
---------------------
大半は上記の再現しました:
著者:世界学生
出典:CSDN
オリジナルます。https://blog.csdn.net/weixin_40327259/article/details/80803754
著作権:この記事はブロガーのオリジナルの記事、再現され、ボーエンのリンクを添付してください!