保存实体时报错Cannot autogenerate id of type java.lang.Integer for entity of type

原实体对象属性如下(注意看id的类型是Integer)

@Data
@EqualsAndHashCode(callSuper = false)
@Document(collection = "user")
public class User extends BaseEntity {

    /**
     * 用户ID
     */
    @MongoId(targetType = FieldType.INT32)
    @Field("_id")
    private Integer id;

    /**
     * 用户名
     */
    @Indexed
    private String username;

    /**
     * 密码
     */
    private String pwd;
}

将实体ID属性改为int类型即可

    /**
     * 用户ID
     */
    @MongoId(targetType = FieldType.INT32)
    @Field("_id")
    private int id;

程序执行成功
在这里插入图片描述
注意:spring-boot-starter-data-mongodb没有自增主键的功能,需要自己控制自增

更多推荐