本文为个人的工作随笔,可能不适用于他人的工作/学习
项目中,实体类的id为Long类型,业务上有大量需要使用到id的地方,然而当实体类检索出来渲染到页面的时候,Long类型的id会出现精度缺失问题,大致原因是java中Long的范围比js中number大,解决方案如下
@Id
@TableId(value = "record_id", type = IdType.ID_WORKER)
@JsonSerialize(using = ToStringSerializer.class)
private Long recordId;
添加注解@JsonSerialize(using = ToStringSerializer.class)
,使数据在传输做序列化的时候保持精度
这种做法可行,也有一种做法是做全局的一个配置,因为本人的项目较为复杂,全局配置怕影响其他业务,故没做,可以参考一位前辈的方法 https://cloud.tencent.com/developer/article/1335444