nhibernate-envers与乐观并发

nhibernate-envers与乐观并发,nhibernate,nhibernate-envers,Nhibernate,Nhibernate Envers,我正在使用nhibernate envers进行审计。为数据库中的每个表创建相应的审核表 Envers需要两个必填字段:一个版本和另一个时间戳 但为了实现乐观并发,主表中还需要version字段 假设:TableA{id,version,name} 然后根据envers,使用have:{id,version,name,revision,revisionType}创建审计表 “审核表:版本”和“修订版”中的字段完全相同,都包含条目的版本 如果我从主表中删除了version字段,那么乐观并发将不适用

我正在使用nhibernate envers进行审计。为数据库中的每个表创建相应的审核表

Envers需要两个必填字段:一个版本和另一个时间戳

但为了实现乐观并发,主表中还需要version字段

假设:TableA{id,version,name} 然后根据envers,使用have:{id,version,name,revision,revisionType}创建审计表

“审核表:版本”和“修订版”中的字段完全相同,都包含条目的版本

如果我从主表中删除了version字段,那么乐观并发将不适用于nhibernate,对于envers,必须指定一个修订字段


如何处理这种情况?

Envers
version
和乐观并发
version
字段是不同的。如果这些是默认名称,您可能应该重命名其中一个。

理解,但有两个字段包含完全相同的信息并不是一件好事:(.因此,尝试寻找一种解决方案,我可以使用它来避免它…嗯,信息是不同的。乐观锁定版本应该只在“活动”(当前)实体。对其进行审核没有意义。另一方面,Envers版本仅存在于已审核的实体中。