標籤:style io color ar 使用 sp for 資料 on
最近一個項目用的ssh,我從svn上checkout項目之後啟動(配置的是hibernate.hbm2ddl.auto=update),結果表沒有自動產生(表不存在),然後看控制台,控制台提示建立表失敗,把建立語句拿出來是:
HHH000388: Unsuccessful: create table t_user (user_id bigint not null auto_increment, card_number varchar(30), card_type varchar(20), company_name varchar(200), email varchar(100), gender varchar(100) not null, identity varchar(20), job_name varchar(60), mobile varchar(30) not null, password varchar(100) not null, real_name varchar(100) not null, primary key (user_id)) type=InnoDB
2014-11-10 10:27:10,749 ERROR (org.hibernate.tool.hbm2ddl.SchemaUpdate:237) - 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 14
2014-11-10 10:27:10,756 ERROR (org.hibernate.tool.hbm2ddl.SchemaUpdate:236) - HHH000388: Unsuccessful: create table t_word (word_id bigint not null auto_increment, content longtext not null, create_date datetime, modify_date datetime, title varchar(100) not null, author_id bigint, primary key (word_id)) type=InnoDB
2014-11-10 10:27:10,763 ERROR (org.hibernate.tool.hbm2ddl.SchemaUpdate:237) - 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 9
2014-11-10 10:27:10,767 ERROR (org.hibernate.tool.hbm2ddl.SchemaUpdate:236) - HHH000388: Unsuccessful: create table t_wordreply (reply_id bigint not null auto_increment, content longtext not null, reply_date datetime, replier_id bigint, word_id bigint, primary key (reply_id)) type=InnoDB
可以看到自後都是type=InnoDB,網上搜尋了之後,原來是type=InnoDB 是5.0之前使用的,我的資料庫是5.5的
這個時候需要把hibernate中mysql的方言改一下,
原來的:hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect
改成:hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
hibernate4串連mysql自動建立表之錯誤