我有两张表与FK关系。我想要的相当于:
select A.*, B.*
from A
join B
on B.A_ID = A.ID
如何在jOOQ中有效地执行此操作?最后,每个结果行需要一个ARecord
和BRecord
个实例。
答案 0 :(得分:1)
喜欢这个
Result<Record> result =
create.select()
.from(A)
.join(B).on(B.A_ID.equal(A.ID))
.fetch();
这将获取A.*, B.*
(或更确切地说,A.A1, A.A2, ..., A.AN, B.B1, ...
)。现在,为了将result
转换为ARecord
和BRecord
,请使用Result.into(Table)
方法:
ARecord a = result.into(A);
BRecord b = result.into(B);
请注意,这已知有缺陷。例如,如果A.X
是包含相应字段B.X
(相同字段名称)的字段,则A.X
将保留B.X
的值。我已为此注册了错误报告:#1802