4
我有兩個FK關係表。我要的是等價於:如何從數據庫中獲取兩種不同的記錄類型?
select A.*, B.*
from A
join B
on B.A_ID = A.ID
如何在jOOQ有效地做到這一點?最後,我需要一個ARecord
實例和一個BRecord
每個結果行。
我有兩個FK關係表。我要的是等價於:如何從數據庫中獲取兩種不同的記錄類型?
select A.*, B.*
from A
join B
on B.A_ID = A.ID
如何在jOOQ有效地做到這一點?最後,我需要一個ARecord
實例和一個BRecord
每個結果行。
像這樣
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
只是爲了讓人們知道..這個問題#1802現在已被標記爲關閉。所以我想它可以安全使用 – sethu