The check in AbstractEntityPersister#generateGeneratedValuesSelectString should use #timingsMatch. Otherwise, the ALWAYS properties are left out of the initial select SQL that generates the column defaults.