dynamic Update
When true, update writes only the columns that changed since the entity was loaded, instead of every updatable column. Default false.
Applies to entities that extend StormifyEntity (and so AutoTable): when one is loaded, a copy of its column values is kept with it, and update compares the current values against that copy. Entities that are not StormifyEntity, or that were never loaded (created in code, or loaded while this was off), get the full UPDATE. An entity with no changed column issues no statement at all. After an update, the written values become the new reference. In a batch update, entities are grouped by the set of changed columns, one batched statement per group, on the same connection.
Costs a second copy of each loaded row's values in memory. A value changed in place, such as java.util.Date.setTime, is detected, since the copy is taken of mutable values. An entity whose primary key changed gets the full UPDATE.
Inside a transaction (or a suspend transaction), the written values become the reference only when the transaction commits: on rollback, of the transaction or of the savepoint of a nested one, the entities it updated lose their reference and their next update is the full UPDATE, also when this was switched on inside the transaction. On a connection whose transaction is managed outside Stormify, the reference is not replaced, since the statement may still be rolled back there; the next update writes the changed columns again.
An entity with no changed column issues no statement, so nothing checks that its row still exists.