Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用公共表表达式或子查询时返回自定义JOOQ记录_Java_Sql_Jooq - Fatal编程技术网

Java 使用公共表表达式或子查询时返回自定义JOOQ记录

Java 使用公共表表达式或子查询时返回自定义JOOQ记录,java,sql,jooq,Java,Sql,Jooq,我正在处理一个包含公共表表达式和多个子查询的复杂查询。我试图通过将代码拆分为方法来保持代码的可读性,但我有点挣扎 在构建公共表表达式或子查询而不是标准JOOQ记录时,是否有方法返回自定义JOOQ记录 公共表表达式的一个示例: public static final String COLUMN1 = "column_1"; public static final String COLUMN2 = "column_2"; public static final

我正在处理一个包含公共表表达式和多个子查询的复杂查询。我试图通过将代码拆分为方法来保持代码的可读性,但我有点挣扎

在构建公共表表达式或子查询而不是标准JOOQ记录时,是否有方法返回自定义JOOQ记录

公共表表达式的一个示例:

public static final String COLUMN1 = "column_1";
public static final String COLUMN2 = "column_2";
public static final String COLUMN3 = "column_3";
public static final String COLUMN4 = "column_4";
public static final String COLUMN5 = "column_5";
public static final String COLUMN6 = "column_6";

public CommonTableExpression<Record6<Long, String, String, LocalDate, LocalDate, Boolean>> getMyFirstCTE() {
    var t = MY_TABLE.as("t");

    return name("t")
            .fields(COLUMN1, COLUMN2, COLUMN3, COLUMN4, COLUMN5, COLUMN6)
            .as(
                    select(
                            t.COLUMN1,
                            t.COLUMN2,
                            t.COLUMN3,
                            t.COLUMN4,
                            t.COLUMN5,
                            t.COLUMN6)
                    .from(t)
                    .where(t.COLUMN6.isFalse()));
}
如果有这些签名就好了:

public static CommonTableExpression<MyFirstRecord> getMyFirstCTE() {}

public static Table<MyFirstRecord> getMyFirstTable() {}
public静态CommonTableExpression getMyFirstCTE(){}
公共静态表getMyFirstTable(){}
不仅是为了可读性,而且(希望如此)不必显式添加类类型,并且能够执行类似于
MyFirstRecord.COLUMN1
的操作

有办法做到这一点吗

    var cte = getMyFirstCTE();
var column1 = cte.field(COLUMN1, Long.class);
var column2 = cte.field(COLUMN2, String.class);
var column3 = cte.field(COLUMN3, String.class);
var column4 = cte.field(COLUMN4, LocalDate.class);
var column5 = cte.field(COLUMN5, LocalDate.class);
var column6 = cte.field(COLUMN6, Boolean.class);
public static CommonTableExpression<MyFirstRecord> getMyFirstCTE() {}

public static Table<MyFirstRecord> getMyFirstTable() {}