有高手伴我看看是怎么回事。此数据库是导入的,主键是自增长的。是哪里出问题了
Field'BasestationId'doesn'thaveadefaultvalue
插入的表有这个字段,并且不能为空,你的insert语句没有这个字段,肯定会报错
解决方法
1、insert语句增加这个字段并设置值
2、数据库表结构该字段修改成可以为空
3、数据库表结构该字段设置一个默认值
以上3种任选其一即可
回复 @一只懒羊羊7788:之前也遇到过类似的情况,想办法吧hibernate出入数据的sql打印出来,然后在看看运行看看,然后在看怎么解决 @NULL_caption回复 @NULL_caption:用的是hibernate回复 @一只懒羊羊7788:将打印出来的sql在数据运行一下,看看是否正确回复 @1哥:insert不用写语句,直接用的是hibernate啊数据库设计的是自增吗?回复 @小韦飞狼:是自增建议分几步排查原因:
1、确认数据库是否可以支持自动增长ID。(可以将打印出来的SQL在数据库中执行,看看是否异常)如果是mysql数据库建议不使用bigInteger类型,更换为Long类型。
2、检查一下代码是否配置有问题。
3、查看当前的使用的hibernate的数据库方言是否匹配你现在使用的数据库版本类型。(因旧版的hibernate针对不同的数据库有更新方言文件的配置)
4、如果上述都没有问题。并且看到已有的截图中已经存在数据说明之前运行是正常的。可以考虑排查一下操作代码是否问题?
仅仅是建议如此排查问题。具体的问题需要具体分析。
回复 @boonbai:已经解决了,多谢。是数据库主键么有设置自增长版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。