Du tänker förmodligen det eftersom det inte finns någon UpdateJoinStep
skriv ungefär som att det finns ett SelectJoinStep
att det inte är möjligt att använda en join med uppdateringar i jOOQ. Men tänk på att SelectJoinStep
är bara bekvämlighet. JOIN
operator är en operator som kopplar samman två tabeller, inte ett nyckelord i SQL. Således stöder jOOQ det som en operator i Table
typ. Använd din SQL-uppdatering som ett exempel:
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"))
Du kan skicka ovanstående tabelluttryck till DSLContext.update(Table)
som alla andra. Jag misstänker att detta föråldrar din återstående fråga?