我正在手动使用以下方法为JOOQ中的简单(但类型安全)查询声明表和字段:
Table<Record> myTable = DSL.table(DSL.name("my_table"));
Field<String> myField = DSL.field(DSL.name("my_table", "my_field"), String.class);
为
myTable
创建别名很容易:Table<Record> myAlias = myTable.as("a");
但是,如何在
myField
中访问myAlias
的值?注意
myAlias.field(myField)
将产生null
,因为该字段不是此表定义的一部分。 最佳答案
您无法访问普通SQL表中的字段,因为jOOQ对其一无所知。您必须为每个别名构造单独的字段引用,例如
Field<?> myAliasedField = field(name("a", "my_field"), String.class);