为什么 Jooq 不识别类型?

问题描述 投票:0回答:0

我有一个具有以下结构的枚举 SomeType:

enum class SomeType {
    Type1, 
    Type2
}

我也有一张包含该枚举的表格:

create type users.some_type as enum ('Type1','Type2');
create table users.some
(
    id   bigint default nextval('users.some_seq'),
    type users.some_type not null,
    primary key (id)
);

枚举生成为:

@Suppress("UNCHECKED_CAST")
enum class SomeType(@get:JvmName("literal") public val literal: String) : EnumType {
    Type1("Type1"),
    Type2("Type2");
    override fun getCatalog(): Catalog? = schema.catalog
    override fun getSchema(): Schema = Users.USERS
    override fun getName(): String = "some_type"
    override fun getLiteral(): String = literal
}

但是,当我尝试为该表编写插入方法时,它无法识别枚举类型:

@Transactional
    fun save(some: Some) =
        dslContext.insertInto(
            SOME,SOME.TYPE,
        ).values(some.someType)

我正在使用 Kotlin 和 Postgres,但我不认为这个问题是 Kotlin 特有的

java postgresql kotlin jooq jooq-codegen
© www.soinside.com 2019 - 2024. All rights reserved.