appfuse hbm2ddl出错

在MySQL 5.6.11上部署AppFuse时报如下错误:

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

生成的SQL语句包含type=InnoDB,执行时报错,语句如下:

create table app_user (id bigint not null auto_increment, version integer not null, username varchar(50) not null unique, password varchar(255) not null, first_name varchar(50) not null, last_name varchar(50) not null, address varchar(150), city varchar(50) not null, province varchar(100), country varchar(100), postal_code varchar(15) not null, email varchar(255) not null unique, phone_number varchar(255), website varchar(255), password_hint varchar(255), account_enabled char(1), account_expired char(1) not null, account_locked char(1) not null, credentials_expired char(1) not null, primary key (id)) type=InnoDB;
create table role (id bigint not null, name varchar(20), description varchar(64), primary key (id)) type=InnoDB;
create table user_role (user_id bigint not null, role_id bigint not null, primary key (user_id, role_id)) type=InnoDB;

使用的方言

<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLInnoDBDialect"/>

  • 原因:“type=InnoDB”在Mysql5.0以前才可以使用
  • 解决方案:修改hibernate.dialect为:org.hibernate.dialect.MySQLDialect
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>

猜你喜欢

转载自edo.iteye.com/blog/1930862