目录
一.使用mybaitsplus的insert的时候,id的主键策略使用的是Idtype.UUID的时候会自动生成1个UUID
一.使用mybaitsplus的insert的时候,id的主键策略使用的是Idtype.UUID的时候会自动生成1个UUID
1.遇见场景:在实体类中,使用type = IdType.UUID会出现在使用insert方法的时候,会生成一个UUID,这个UUID会把你之前给实体类赋值的UUID给覆盖,导致你以为的UUID是你定义的,实际上的UUID是方法自己生成的。
@TableId(value = "id", type = IdType.UUID)
private String id;
2.解决办法:把主键策略设置成为type=IdType.INPUT,或者是在后续需求要使用到插入数据的UUID的时候,可以先进行insert插入,这个时候mybatis-plus会把生成的UUID复制到插入数据时使用的对象里面,可以使用对象里的id达到id一致的目的。
附:主键策略的各种含义
1.AUTO(“数据库ID自增的时候使用”),
2.INPUT(1, “用户给ID赋值”),
3.ID_WORKER(2, “全局唯一ID”),
4.UUID(3, “全局唯一ID,会自动生成”),
5.NONE(4, “该类型为未设置主键类型”),
6.ID_WORKER_STR(5, “字符串全局唯一ID”);