初觸hibernate01--MYSQL建表時type=InnoDB和Engine=InnoDB注意點
第一次執行程式時,將Hibernte中的hibernate.hbm2ddl.auto設定成create,讓Hibernate幫助自動建表,但不成功,報瞭如下資訊:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'type=InnoDB' at line 1
我很納悶,為什麼之前沒有這樣的問題呢?難道是建表語句語法有誤?對比後,似乎不是。後來再仔細閱讀報錯資訊,目光定位在“MySQL server version for the right syntax ”!!
後來,網上查詢一番,發現是因為type=InnoDB在5.0以前是可以使用的,但5.1之後就不行了。如果我們把type=InnoDB改為engine=InnoDB就不會有這個問題。但是,我想使用Hibernate,自動幫我建表,怎麼辦呢。這就與我們指定的資料庫方言(dialect)有關了。
之前我的配置是:
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialectprop>
現在改為
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5InnoDBDialectprop>
好了,這樣問題就解決了。總結下:
hibernate中,對於mysql version5.1~5.5,都是‘MySQL5InnoDBDialect’ !!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29900383/viewspace-1407348/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL的show engine innodb statusMySql
- Innodb檢查點和redo寫盤時機
- show engine innodb status操作解析之一
- MySQL InnoDB臨時表空間配置MySql
- show engine innodb status 輸出結果解讀
- 詳細瞭解INNODB_TRX、INNODB_LOCKs、INNODB_LOCK_waits、PROCESSLIST表AI
- Configure innodb 表空間
- MySQL:5.6 大事務show engine innodb status故障一例MySql
- MySQL InnoDB表空間加密MySql加密
- information_schema.innodb_metrics表ORM
- Innodb:Undo 表空間巨大
- innodb 庫的備份注意點(由phpmyadmin引起的解決方案)PHP
- 14.2 InnoDB 和 ACID 模型模型
- Percona 8.0.30中"show engine innodb status"導致coredump排查及分析
- 使用show engine innodb status 檢視記憶體使用情況記憶體
- Innodb: 自動開啟列印show engine status到err日誌
- MySQL InnoDB Undo表空間配置MySql
- 技術分享 | show engine innodb status中Pages flushed up to 的含義
- 使用MyISAM表和InnoDB的一些記錄GD
- undrop-for-innodb恢復drop的表
- innodb表空間儲存結構
- InnoDB資料字典--字典表載入
- MySQL什麼是InnoDB檢查點?MySql
- 關於InnoDB表資料和索引資料的儲存索引
- 『淺入淺出』MySQL 和 InnoDBMySql
- InnoDB意向鎖和插入意向鎖
- mysql 5.6效能監控表innodb_metricsMySql
- MySQL 增加InnoDB系統表空間大小MySql
- MySQL InnoDB File-Per-Table表空間MySql
- MySQL:Innodb表 Data free 的計算概要MySql
- InnoDB資料字典詳解-系統表
- MySQL InnoDB 索引MySql索引
- innodb索引篇索引
- MySQL Deadlocks in InnoDBMySql
- 14.4 InnoDB Architecture
- 重要,知識點:InnoDB的插入緩衝
- MySQL innodb表使用表空間物理檔案複製表MySql
- ibdata1檔案損壞時恢復InnoDB單表測試
- Mysql 中 MyISAM 和 InnoDB 的區別MySql