Module org.jooq
Package org.jooq

Interface TableOptionalOnStep<R extends Record>

All Superinterfaces:
Fields, Named, Qualified, QueryPart, RecordQualifier<R>, Serializable, Table<R>, TableLike<R>, TableOnStep<R>

public interface TableOptionalOnStep<R extends Record> extends TableOnStep<R>, Table<R>
An intermediate type for the construction of a JOIN clause, where there may optionally be a join criteria added using an ON clause (with a Condition), or using a USING clause (with a list of Field)

Referencing XYZ*Step types directly from client code

It is usually not recommended to reference any XYZ*Step types directly from client code, or assign them to local variables. When writing dynamic SQL, creating a statement's components dynamically, and passing them to the DSL API statically is usually a better choice. See the manual's section about dynamic SQL for details: https://www.jooq.org/doc/latest/manual/sql-building/dynamic-sql.

Drawbacks of referencing the XYZ*Step types directly:

  • They're operating on mutable implementations (as of jOOQ 3.x)
  • They're less composable and not easy to get right when dynamic SQL gets complex
  • They're less readable
  • They might have binary incompatible changes between minor releases
Author:
Lukas Eder