Question

I am using nhibernate envers for auditing. creating a corrosponding audit table for each table in database.

Envers needs two fields mandatory: one version and another timestamp.

but version field is also needed in main table for optimistic concurrency.

lets say: TableA { id , version , name } then as per envers the audit table with have: { id, version, name, revision, revisionType }

the fields in audit table: version and revision would be exactly same, both contains the version of an entry.

If i remove the version field from main table, then optimistic concurrency will not work with nhibernate and for envers it is mandatory to specify a revision field.

how can i deal with this situation?

Was it helpful?

Solution

The Envers version and the Optimistic Concurrency version fields are different things. You should probably rename one or the other, if these are the default names.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top