当我们使用MP的插入时,目标是Pgsql数据库,主键为空的时候,数据库设置为自增,那么就会报错,主键不能为空
解决办法:在代码中加入拦截器:
@Component
public class CustomIdGenerator implements IdentifierGenerator {
@Override
public Long nextId(Object entity) {
return UUID.fastUUID().getMostSignificantBits();
}
}
并且在对应实体类的id属性上的自增类型设置为默认为雪花算法自增
@TableId(value = "id", type = IdType.ASSIGN_ID)
private Long id;
这时候数据库就不用设置主键自增了