有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java jOOQ选择字段数据类型

在jOOQ中,执行select时是否可以更改字段数据类型

例如,我有jOOQ生成的源代码,有字段X,我想更改它的数据类型。我正在尝试添加转换器

例如:

select(PERSON.field(PERSON.ADDRESS.getName(), addressConverter.getDataType()));

我不能轻易地替换表字段。我需要从表字段中删除字段,然后进行新的选择(示例)


共 (1) 个答案

  1. # 1 楼答案

    “更改”字段以使其具有特定SELECT查询的新数据类型的最简单方法是使用^{}。例如:

    select(PERSON.ADDRESS.coerce(addressConverter.getDataType()))
    .from(...)
    

    如果您想保留PERSON表中的所有其他字段,可以如下操作:

    select(Stream.of(PERSON.fields()).map(
         f -> f == PERSON.ADDRESS 
            ? f.coerce(addressConverter.getDataType())
            : f).toArray(Field[]::new))
    .from(...)
    

    当然,您也可以在一个专用函数中考虑这个特定的数据类型替换