当前使用版本(必填,否则不予处理)

3.4.2

该问题是如何引起的?(确定最新版也有问题再提!!!)

data class UserDo(
    @TableId(type = IdType.ASSIGN_ID)
    var id: Long? = 0L,
    val username: String
    ......
)

val user = UserDo(0L, "abc", .......)

mapper.inser(user)

print(user.id)    // print 0

调用 mybatis-plus mapper 的 insert 方法插入数据库,数据库实际的 id 为 1364857609092235295 ,但是代码中 user 的 id 依然为 0,id 并没有回写到 user 中

val user = UserDo(null, "abc", .......)

mapper.inser(user)

print(user.id)    // print 1364857609092235386

如果 id 设为 null 后再插入,则回写正常

Comment From: ppx-build-code

对象是否存在setter方法

Comment From: miemieYaho

给出你的复现demo

Comment From: Nayacco

在 h2 中测试没有问题,但是在 mysql 5.7 中有问题,初步排查和数据库的 AUTO_INCREMENT 属性有关

mybatis-plus-bug-report.zip

Comment From: qmdx

kotlin 暂无维护人员,欢迎 pr