Có thể bạn đang nghĩ rằng vì không có UpdateJoinStep
nhập giống như có một SelectJoinStep
rằng không thể sử dụng kết hợp với các bản cập nhật trong jOOQ. Nhưng hãy cẩn thận rằng SelectJoinStep
chỉ là sự tiện lợi. JOIN
toán tử là một toán tử kết nối hai bảng, không phải là một từ khóa trong SQL. Do đó, jOOQ hỗ trợ nó như một toán tử trên Table
loại hình. Sử dụng bản cập nhật SQL của bạn làm ví dụ:
Field<Long> userId = DSL.field("user_nested.id", Long.class);
create
.update(USER.join(TEAM).on(TEAM.ID.eq(USER.TEAM_ID)))
.set(USER.NAME, (concat(USER.NAME, "some text")))
.where(TEAM.STATE.equal("test"))
Bạn có thể chuyển biểu thức bảng trên vào DSLContext.update(Table)
giống như bất kỳ khác. Tôi nghi ngờ điều này làm hỏng câu hỏi còn lại của bạn?