java.sql.SQLException: Data truncated for column 'take_' at row 1

问题

  1. java.sql.SQLException: Data truncated for column ‘take_’ at row 1

解决方案

  1. 首先明白错误:java.sql.SQLException:第1行“take_”列的数据被截断
  2. 直白的理解:简单地讲就是数据插入不进去,问题的根源在数据库表的字段类型和实体类不匹配
  3. 举例 : 比如实体类为string 库里面为int
  4. 总结: 有时候程序报的错误有点声东击西,即抱一个最大的异常或者一个没有错误的异常,根据我们的惯性思维直接找错误发现未果,所以最好的最节省时间的办法就是捕捉会报错的地方,工具debug,看详情原因

关联

1.我用jpa去生成实体,主键我配置了两种类型,一直报主键错误,让我很是犯愁,甚至怀疑我不会写代码。其实质是数据库的字段与实体类不对照,经工具debug,跟了好几层才找到问题的实质。其实和主键毫无关系
2.配置主键和生成的图片
@Id
@GeneratedValue(generator = “paymentableGenerator”)
@GenericGenerator(name = “paymentableGenerator”, strategy = “uuid”)
private String id; // 主键
UUID生成策略
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private String id; // 主键
自增长类型
这样配是完全没有问题的,保存报主键错误,按这个错误提示走下去,只会无果,一定要静下心了debug去调试,你会省很多时间,收到意外的惊喜

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值