- 
@Target({METHOD,CONSTRUCTOR,TYPE,PACKAGE}) @Retention(RUNTIME) @Documented @Inherited public @interface Require
Require a set ofSQLDialectto be supported by any jOOQ statement in the scope of this annotation.This annotation can be used at the use-site of jOOQ API at any given scope
ElementType.PACKAGE,ElementType.TYPE,ElementType.METHODin order to specify that the given scope requires ALL of the suppliedSQLDialectto be supported by all usage of jOOQ API within the scope. For example:// Allow only MYSQL or ORACLE dialect support to be used within the class scope @Allow(MYSQL, ORACLE) public class MySQLAndOracleDAO { // Allow rule from class applies to this method public void mysqlAndOracleMethod() { DSL.using(configuration) .insertInto(TABLE, TABLE.COLUMN) .values(1) // This type checks as it works on both MySQL and Oracle .onDuplicateKeyUpdate() .set(TABLE.COLUMN, 2) .execute(); } // Refine class Allow rule with additional requirement @Require(ORACLE) public void oracleOnlyMethod() { DSL.using(configuration) .mergeInto(TABLE) .using(selectOne()) .on(TABLE.COLUMN.eq(1)) .whenMatchedThenUpdate() .set(TABLE.COLUMN, 2) .whenNotMatchedThenInsert(TABLE.COLUMN) .values(1) .execute(); } }Type checking for these annotations can be supplied by
org.jooq.checker.SQLDialectCheckerfrom the jOOQ-checker module.Type checking for these annotations can be supplied by
org.jooq.checker.SQLDialectCheckerfrom the jOOQ-checker module.Rules:
- In the absence of any 
Allowannotation, no jOOQ API usage is allowed. - The combination of all 
Allowannotations and of the inner-mostRequireannotation is applied for any given scope. - Nested packages are not creating nested scopes.
 - If a versioned 
SQLDialectis required (rather than aSQLDialect.family()), then the required version, any of itsSQLDialect.predecessor(), or itsSQLDialect.family()are required. 
- Author:
 - Lukas Eder
 - See Also:
 Allow
 - In the absence of any 
 
- 
- 
Optional Element Summary
Optional Elements Modifier and Type Optional Element Description SQLDialect[]valueA list of jOOQSQLDialectwhich are required on any jOOQ API method that is annotated withSupport. 
 - 
 
- 
- 
Element Detail
- 
value
SQLDialect[] value
A list of jOOQSQLDialectwhich are required on any jOOQ API method that is annotated withSupport.- Default:
 - {}
 
 
 - 
 
 -