今天在做服务器数据的清库,使用hibernate建表后,插入本地数据报错.
开始还以为是mysql版本不对,对比后都是5.6版本,然后以为是因为DEFAULT CURRENT_TIMESTAMP
这个导致的,测试还是不行,最后仔细检查了导入的sql,发现原来是mysql导出结构和数据时,有建表语句,insert时就没有写字段名称INSERT INTO
area_mmmVALUES ('1', '1', '0', '北京市');
,是根据建表字段的顺序插入的,而hibernate使用注解方式生成的表字段顺序是根据首字母的排序,所以造成了差异,数据插入不进去。
解决办法:使用INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
或者更改hibernate源码
http://www.cnblogs.com/eggbucket/archive/2013/03/05/2943727.html
相关资料:http://blog.csdn.net/z893196569/article/details/46391199