i see this module in the exposed source, yet i cannot find it in any maven repository. How can i use use this. The library basically lets us use the kotlin localdatetime instead of the java version.
It “just works”.
Note: this is code generated from a schema, so it uses the framework it is generated for. Nevertheless, it should answer your question.
package a
import org.jetbrains.exposed.sql.ResultRow
import org.jetbrains.exposed.sql.statements.UpdateBuilder
import zakadabar.core.persistence.exposed.entityId
import zakadabar.core.persistence.exposed.ExposedPaBase
import zakadabar.core.persistence.exposed.ExposedPaTable
import a.b
import org.jetbrains.exposed.sql.`java-time`.date
import kotlinx.datetime.toJavaLocalDate
import kotlinx.datetime.toKotlinLocalDate
import org.jetbrains.exposed.sql.`java-time`.datetime
import kotlinx.datetime.toJavaLocalDateTime
import kotlinx.datetime.toKotlinLocalDateTime
import org.jetbrains.exposed.sql.`java-time`.timestamp
import kotlinx.datetime.toJavaInstant
import kotlinx.datetime.toKotlinInstant
open class bPa(
table : bTable = bTable()
) : ExposedPaBase<b,bTable>(
table = table
) {
override fun ResultRow.toBo() = b(
id = this[table.id].entityId(),
localdate = this[table.localdate].toKotlinLocalDate(),
datetime = this[table.datetime].toKotlinLocalDateTime(),
instant = this[table.instant].toKotlinInstant()
)
override fun UpdateBuilder<*>.fromBo(bo: b) {
this[table.localdate] = bo.localdate.toJavaLocalDate()
this[table.datetime] = bo.datetime.toJavaLocalDateTime()
this[table.instant] = bo.instant.toJavaInstant()
}
}
open class bTable(
tableName : String = "b"
) : ExposedPaTable<b>(
tableName = tableName
) {
val localdate = date("localdate")
val datetime = date("datetime")
val instant = timestamp("instant")
}