ktorm
ktorm copied to clipboard
ksp column converter in version 4.0.0 disappeared
I used org.ktorm.ksp.api.EnumConverter
for defining column converter in version 1.0.0-RC3
.
import org.ktorm.ksp.api.EnumConverter
import org.ktorm.schema.BaseTable
import org.ktorm.schema.Column
import org.ktorm.schema.int
import kotlin.reflect.KClass
object IntEnumConverter : EnumConverter {
override fun <E : Enum<E>> convert(table: BaseTable<*>, columnName: String, propertyType: KClass<E>): Column<E> {
val values = propertyType.java.enumConstants
return with(table) {
int(columnName).transform({ values[it] }, { it.ordinal })
}
}
}
and
import cn.akfang.aster.common.util.JacksonUtil
import org.ktorm.ksp.api.MultiTypeConverter
import org.ktorm.schema.BaseTable
import org.ktorm.schema.Column
import org.ktorm.schema.varchar
import kotlin.reflect.KClass
object JsonFieldConverter : MultiTypeConverter {
override fun <T : Any> convert(table: BaseTable<*>, columnName: String, propertyType: KClass<T>): Column<T> {
with(table) {
return varchar(columnName).transform(
{ JacksonUtil.INSTANCE.string2Obj(it, propertyType.java)!! },
{ JacksonUtil.INSTANCE.obj2String(it) ?: "{}" }
)
}
}
}
Is there a corresponding replacement scheme for version 4.0? Or maybe I'm missing something. Thanks.