【问题标题】:JOOQ -> Convert alias to datatypeJOOQ -> 将别名转换为数据类型
【发布时间】:2022-01-20 21:16:34
【问题描述】:

我有一个返回数组类型字段的查询,我使用 .as('Names') 给它一个别名。 现在我需要把它分配给一个班级。 如何将 AliasField 转换为数据类型 MutableSet?

我试过了:

 myClass.names = record.get("Names", MutableSet::Class.java)

但这是 mutableSet 类型! ,我需要将它转换为可空类型为 MutableSet?。

【问题讨论】:

    标签: java kotlin jooq


    【解决方案1】:

    只需保留对字段表达式的引用并使用它从记录中读取值,例如:

    val names = MY_COLUMN.as("names")
    val record = ctx.select(names).from(...).fetchOne()
    myClass.names = record.get(names)
    

    【讨论】:

    • 该字段是 jooqService.using(txn).select(DSL.asterisk(), DSL.array(select table.name from table where ...) as "Name" ....) 类型的子查询。当我做 record.get("names") 时,它会丢失类型。
    • 在概括和简化时很难回答具体的问题。为什么不问包含所有细节的完整问题呢?我当然可以提供帮助,但如果我必须猜测,我会猜错(或不够具体)。无论如何,概念都是一样的。
    猜你喜欢
    • 2023-03-13
    • 2021-12-10
    • 2021-07-22
    • 2014-11-24
    • 2021-03-06
    • 1970-01-01
    • 2019-07-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多