The jOOQ User Manual. Multiple Pages : Code generation : Advanced generator configuration : Database : Record Version and Timestamp Fields | previous : next |
jOOQ's org.jooq.UpdatableRecord supports an optimistic locking feature, which can be enabled in the code generator by specifying a regular expression that defines such a record's version and/or timestamp fields. These regular expressions should match at most one column per table, again either by their fully qualified names (catalog.schema.table.column_name) or by their names only (column_name):
XML configuration (standalone and Maven)
<configuration xmlns="http://www.jooq.org/xsd/jooq-codegen-3.10.0.xsd"> <generator> <database> <recordVersionFields>REC_VERSION</recordVersionFields> <recordTimestampFields>REC_TIMESTAMP</recordTimestampFields> </database> </generator> </configuration>
Programmatic configuration
configuration .withGenerator(new Generator( .withDatabase(new Database() .withRecordVersionFields("REC_VERSION") .withRecordTimestampFields("REC_TIMESTAMP"))));
Gradle configuration
myConfigurationName(sourceSets.main) { generator { database { recordVersionFields = 'REC_VERSION' recordTimestampFields = 'REC_TIMESTAMP' } } }
Note again that these expressions are regular expressions with default flags