Hibernateは自動的に(:1146、SQLStateの:42S02 SQLエラー)テーブルで問題を作成することはできません。

テスト環境: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の整数 ではない ヌル
名前はvarchar255 )、
年齢の整数 キー(id)を
)タイプ= MyISAMテーブルを

dialect.MySQL5、table文の結果の建設を使用した後:

休止状態: 
 作成 テーブル教師(
IDの整数 ではない ヌル
年齢の整数 ではない ヌル
名前はvarchar255 )、
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 
著作権:この記事はブロガーのオリジナルの記事、再現され、ボーエンのリンクを添付してください!

 

おすすめ

転載: www.cnblogs.com/chashaotree/p/11093121.html