问题描述
小伙伴建了一张表,表的主键是id BigINT,用来存储雪花算法生成的ID
CREATE TABLE user
(
id BIGINT(20) NOT NULL COMMENT '主键ID',
#其他字段省略
);
使用Long 类型对应数据库ID数据。嗯,也没有问题,雪花算法生成的就是一串数字,Long类型属于标准答案!
@Data
public class User {
private Long id;
//其他成员变量省略
在后端下断点。看到数据响应以JSON响应给前端,正常
{
id:1297873308628307970,
//其他属性省略
}
最后,这条数据返回给前端,前端接收到之后,修改这条数据,后端再次接收回来。奇怪的问题出现了:后端重新接收回来的id变成了:12978733086283000000,不再是1297873308628307970
求解决办法
来源:https://github.com/flyhero/sp...
解决方案:将所有长整型序列号为字符串型,对前端无影响。
代码:如果你使用spring、jackson的话。