Available in versions: Dev (3.18) | Latest (3.17) | 3.16 | 3.15 | 3.14 | 3.13 | 3.12 | 3.11 | 3.10 | 3.9

This documentation is for the unreleased development version of jOOQ. Click on the above version links to get this documentation for a supported version of jOOQ.

Record Version and Timestamp Fields

Applies to ✅ Open Source Edition   ✅ Express Edition   ✅ Professional Edition   ✅ Enterprise Edition

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 (standalone and maven)
<configuration xmlns="http://www.jooq.org/xsd/jooq-codegen-3.18.0.xsd">
new org.jooq.meta.jaxb.Configuration()
  .withGenerator(new Generator()
    .withDatabase(new Database()
myConfigurationName(sourceSets.main) {
  generator {
    database {
      recordVersionFields = 'REC_VERSION'
      recordTimestampFields = 'REC_TIMESTAMP'

As always, when regular expressions are used, they are regular expressions with default flags.


Do you have any feedback about this page? We'd love to hear it!

The jOOQ Logo