java.lang.Object
org.jooq.Stringly
A container for annotations on stringly typed API.
When working with SQL, strings are ubiquitous. They can have different meanings, in the jOOQ API. A string can be:
- A bind variable (i.e. a
Param
) - A plain SQL template (i.e. a
SQL
) - An identifier (i.e. a
Name
) - A keyword (i.e. a
Keyword
) - A comment (i.e. a
Comment
While the jOOQ API applies conventions consistently, it may not always be clear which convention applies. Keywords are hardly a problem, but beginners often confuse when jOOQ offers plain SQL templates for convenience (arbitrary SQL fragments, usually not case-sensitive, SQL injection prone), or identifiers (often case-sensitive, depending on the dialect).
The annotations in this class are used to document each of these stringly typed API elements to make the semantics more clear. For increased clarity, the stringly-typed convenience API can always be avoided in favour of the more strongly-typed API.
- Author:
- Lukas Eder
- See Also:
- https://blog.jooq.org/2020/04/03/whats-a-string-in-the-jooq-api/
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic interface
The annotated string type represents a keywordComment
, which will be wrapped byDSL.comment(String)
.static interface
The annotated string type represents a keywordKeyword
, which will be wrapped byDSL.keyword(String)
.static interface
The annotated string type represents an identifier, i.e.static interface
The annotated string type represents a bind variable, i.e.static interface
The annotated string type represents a plain SQL template, i.e. -
Constructor Summary
-
Method Summary
-
Constructor Details
-
Stringly
public Stringly()
-