Data type rewrites
Applies to ✅ Open Source Edition ✅ Express Edition ✅ Professional Edition ✅ Enterprise Edition
Sometimes, the actual database data type does not match the SQL data type that you would like to use in Java. This is often the case for ill-supported SQL data types, such as
UUID. jOOQ's code generator allows you to apply simple data type rewriting. The following configuration will rewrite
IS_VALID columns in all tables to be of type
<database> <!-- Associate data type rewrites with database columns --> <forcedTypes> <forcedType> <!-- Specify any data type that is supported in your database, or if unsupported, a type from org.jooq.impl.SQLDataType --> <name>BOOLEAN</name> <!-- A Java regex matching fully-qualified columns, attributes, parameters. Use the pipe to separate several expressions. If provided, both "includeExpression" and "includeTypes" must match. --> <includeExpression>.*\.IS_VALID</includeExpression> <!-- A Java regex matching data types to be forced to have this type. Data types may be reported by your database as: - NUMBER regexp suggestion: NUMBER - NUMBER(5) regexp suggestion: NUMBER\(5\) - NUMBER(5, 2) regexp suggestion: NUMBER\(5,\s*2\) - any other form. It is thus recommended to use defensive regexes for types. If provided, both "includeExpression" and "includeTypes" must match. --> <includeTypes>.*</includeTypes> </forcedType> </forcedTypes> </database>
You must provide at least either an
<includeExpression/> or a
<includeTypes/> element, or both.
See the section about Custom data types for rewriting columns to your own custom data types.