首页新闻找找看学习计划

hibernate用mySql [ hibernate.hbm2ddl.auto update ] 时,有部分表建失败

0
悬赏园豆:20 [已关闭问题] 关闭于 2017-09-11 20:01

 我维护的工程是用hibernate的hibernate.hbm2ddl.auto update全自动映射的,在使用sqlServer数据库的时候是不存在问题的.但是切换到mysql的时候会有一部分表创建失败说Table found: cmp.表名

 请问这是什么问题导致的,有什么能解决的方案.

---------------问题描述需求单------------------------------------

2017-08-31 17:24:39,493 ERROR [org.hibernate.tool.hbm2ddl.SchemaUpdate] (ServerService Thread Pool -- 58) HHH000388: Unsuccessful: create table CbsSimuDecHead (id varchar(255) not null, createDate datetime, createUser varchar(255), modifyDate datetime, modifyUser varchar(255), optLock integer, zextendField1 varchar(255), zextendField2 varchar(255), zextendField3 varchar(255),(忽略剩下字段........ )
2017-08-31 17:24:39,513 ERROR [org.hibernate.tool.hbm2ddl.SchemaUpdate] (ServerService Thread Pool -- 58) Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs 

--------------------------------附上错误日志---------------------------------------------

https://pan.baidu.com/s/1qYnyvQO

叶含风的主页 叶含风 | 初学一级 | 园豆:12
提问于:2017-09-07 17:07
< >
分享
所有回答(2)
0

我觉的应该是hibernate创建表示有主外键关系,mysql导入数据表是这些主外键可能不生效吧,导致表构建失败。你可以在这方面检查一下。

qxfei | 园豆:202 (菜鸟二级) | 2017-09-08 09:36
0

没有很好的解决办法.因为mysql用的是innoDB引擎,导致数据库字段有大小限制.要么缩减字段,要么使用sql Server

叶含风 | 园豆:12 (初学一级) | 2017-09-11 20:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册