问题描述
在测试代码的插入功能时,突然发现数据库中表的id不是自增的了,出现一个很大的数,大概在十几位数,而我当时的测试表id才增长到112,明显是id出异常了,
问题排查
数据库表设置了id自增一般问题不大,很有可能在插入表前实体中的id已经被赋值了,通过debug发现在执行插入表操作前,实体的id已经被赋值了。
排查发现只要在实体的id上加上自增的注解就可以解决
附上其他type类型介绍
AUTO : AUTO(0, “数据库ID自增”),
INPUT : INPUT(1, “用户输入ID”),
ID_WORKER : ID_WORKER(2, “全局唯一ID 长整型类型”),
UUID : UUID(3, “全局唯一ID”),
NONE : NONE(4, “该类型为未设置主键类型”),
ID_WORKER_STR : ID_WORKER_STR(5, “字符串全局唯一ID 字符串类型”);
做表自增插入的时候一定要加上这个注解。但是在做表与表的数据同步时,如果要保留原id值,加上auto做数据插入会有问题,可能将原来的id覆盖,直接在id上不加注解即可