关于java后端Long类型传递雪花ID到前端导致精度不一致和数据不一致问题

我们数据库使用的是Bigint存放的是雪花ID,我们java实体类使用的是Long类型

我们后端查询的数据库跟我们返回到前端的ID数据不一致

关于java后端Long类型传递雪花ID到前端导致精度不一致和数据不一致问题_第1张图片

关于java后端Long类型传递雪花ID到前端导致精度不一致和数据不一致问题_第2张图片关于java后端Long类型传递雪花ID到前端导致精度不一致和数据不一致问题_第3张图片

问题

我们数据库存放的是雪花ID,java的Long类型可以取值,但是JSON序列号的时候就超过取值范围了,所以我们需要在序列号上做修改

解决

1 : 将我们java中的long类型改成String类型

2:在我们Long类型的实体类上添加注解

@JsonSerialize(using = ToStringSerializer.class)

关于java后端Long类型传递雪花ID到前端导致精度不一致和数据不一致问题_第4张图片

修改后

关于java后端Long类型传递雪花ID到前端导致精度不一致和数据不一致问题_第5张图片
关于java后端Long类型传递雪花ID到前端导致精度不一致和数据不一致问题_第6张图片

你可能感兴趣的:(java,开发语言)