您的位置:首页 > 其它

hibnate 创建表的时候type=innodb报错

2016-04-22 09:54 176 查看
这个原因是在MYSQL5.5及以后版本中type=InnoDB 由ENGINE=InnoDB 代替。

解决办法,自己定义一个方言:

package com.hotusm.dialect;

/**
*
* @author Hotusm
*
*    在MYSQL5.5及以后版本中type=InnoDB 由ENGINE=InnoDB  代替。
由于5.5默认的存储引擎就是InnoDB,因此去掉这个属性不会有影响。
<code>
<property name="dialect">com.hotusm.dialect.MYSQLInnoDBDialect</property>
</code>
*/
public class MYSQLInnoDBDialect extends org.hibernate.dialect.MySQLInnoDBDialect{

@Override
public String getTableTypeString() {

return "ENGINE=InnoDB";
}

@Override
public boolean hasSelfReferentialForeignKeyBug() {
return true;
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: