【发布时间】:2019-10-10 04:07:04
【问题描述】:
我在 Kotlin 项目中使用 Exposed 库。 在我的表声明中,我有一个这样的列:
val updatedDate = datetime("updated_dt").clientDefault { DateTime.now() }
如果我默认替换clientDefault函数有什么不同:
val updatedDate = datetime("updated_dt").default(DateTime.now())
我看过这两个函数的源代码,但还是不知道。
clientDefault函数:
fun <T:Any> Column<T>.clientDefault(defaultValue: () -> T): Column<T> {
this.defaultValueFun = defaultValue
this.dbDefaultValue = null
return this
}
default函数:
fun <T:Any> Column<T>.default(defaultValue: T): Column<T> {
this.dbDefaultValue = SqlExpressionBuilder.run {
asLiteral(defaultValue)
}
this.defaultValueFun = { defaultValue }
return this
}
【问题讨论】:
标签: kotlin kotlin-exposed