Skip to content

插入的对象为空时,实际没有插入对象 #457

Closed
@openaddr

Description

@openaddr

当调用public fun <E : Entity, T : Table> EntitySequence<E, T>.add(entity: E): Int方法时,如果entity对象没有设置任何属性,则没有执行插入语句.
但预期是插入一行空数据,
例如

object Ids : Table<Id>("ids") {
    val id = long("id").bindTo { it.id }.primaryKey()
    var createTime = datetime("create_time").bindTo { it.createTime }
    var updateTime = datetime("update_time").bindTo { it.updateTime }
    var isDeleted = boolean("is_deleted").bindTo { it.isDeleted }
}
interface Id : Entity<Id> {
    companion object : Entity.Factory<Id>()

    val id: Long
    var createTime : LocalDateTime
    var updateTime : LocalDateTime
    var isDeleted : Boolean
}
    val Database.ids get() = this.sequenceOf(Ids)
    val id = Id()
    database.ids.add(id) //执行此行代码时,预期是在数据库中插入一行空数据,但实际上没有进行任何操作

而调用
database.insertAndGenerateKey(???){
//这里不设置任何属性
}
时,则没有这个问题(即成功插入了一行空数据)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions