Return 加入多个 table 并选择相同字段时的自定义 JOOQ 记录
Return custom JOOQ record when joining multiple table and selecting omonimous fields
我正在尝试制作一个小方法来重新整理与检索某些数据相关的代码以使其易于使用我需要使生成的 table 记录可访问,所以我尝试制作一个 CustomTable使用 CustomRecord。
为了更清楚地说明我正在尝试做什么,我写下了一些我尝试过的示例:
public MyCustomTable getTableReusable(final DSLContext ctx,
final Profile profile, final LocalDate date) {
final Table<Table1Record> tab1 = Table1.TABLE1.as("a");
final Table<Table2Record> tab2 = tab2.TABLE2.as("b");
return ctx.select(table1.field(tab1.ID).as(MyCustomTable.TAB1_ID),
tab1.field(Table1.A_FIELD).as(MyCustomTable.TAB1_A_FIELD),
tab2.field(Table2.ID).as(MyCustomTable.TAB2_ID),
tab2.field(Table2.B_FIELD).as(MyCustomTable.TAB2_B_FIELD))
.from(tab1)
.leftJoin(tab2)
.on(tab1.field(Table1.ID).eq(tab2.field(Table2.TAB1_FK))) //
.asTable();}
当时不可能将此 table 转换为自定义 table,所有字段都在 select 方法中设置。
在自定义 table 中,我什至在 CustomRecord 中公开了所有记录。
有办法让我 return 我的 customTable 中的数据吗?
我正在尝试制作一个小方法来重新整理与检索某些数据相关的代码以使其易于使用我需要使生成的 table 记录可访问,所以我尝试制作一个 CustomTable使用 CustomRecord。
为了更清楚地说明我正在尝试做什么,我写下了一些我尝试过的示例:
public MyCustomTable getTableReusable(final DSLContext ctx,
final Profile profile, final LocalDate date) {
final Table<Table1Record> tab1 = Table1.TABLE1.as("a");
final Table<Table2Record> tab2 = tab2.TABLE2.as("b");
return ctx.select(table1.field(tab1.ID).as(MyCustomTable.TAB1_ID),
tab1.field(Table1.A_FIELD).as(MyCustomTable.TAB1_A_FIELD),
tab2.field(Table2.ID).as(MyCustomTable.TAB2_ID),
tab2.field(Table2.B_FIELD).as(MyCustomTable.TAB2_B_FIELD))
.from(tab1)
.leftJoin(tab2)
.on(tab1.field(Table1.ID).eq(tab2.field(Table2.TAB1_FK))) //
.asTable();}
当时不可能将此 table 转换为自定义 table,所有字段都在 select 方法中设置。 在自定义 table 中,我什至在 CustomRecord 中公开了所有记录。
有办法让我 return 我的 customTable 中的数据吗?