Vous pensez probablement cela parce qu'il n'y a pas de UpdateJoinStep tapez un peu comme s'il y avait un SelectJoinStep
que l'utilisation d'une jointure avec des mises à jour n'est pas possible dans jOOQ. Mais attention, SelectJoinStep est une simple commodité. Le JOIN L'opérateur est un opérateur qui relie deux tables, pas un mot-clé en SQL. Ainsi, jOOQ le supporte en tant qu'opérateur sur la Table taper. En utilisant votre mise à jour SQL comme exemple :
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"))
Vous pouvez transmettre l'expression de table ci-dessus à DSLContext.update(Table) comme n'importe quel autre. Je soupçonne que cela rend obsolète votre question restante ?