有时我会遇到奇怪的OptimisticLockingException
。上网冲浪,我发现它与@Version注释有点相关。我尝试从基本模型类中删除以下字段:
@Version
private Long version;
冒烟测试表明系统没有任何问题。但是我想知道在 mongo 模型类中没有声明版本字段是否有任何问题?
谢谢, 绿色
最佳答案
您可能遇到一些并发问题。当对同一实体进行并发更改并且第二个更改收到该实体刚刚被其他人更新的通知时,会引发该异常。 事实上,版本注释适用于每次实体更新后都会递增的字段。如果您尝试更新实体,但其他人刚刚对同一实体提交了更改,则会出现异常。 通过删除 @Version 注释,您只是没有版本字段,因此不会出现问题,但实体仍然以可能不合适的方式(即不受监管)发生更改。
关于java - MongoTemplate 实体模型上的 @Version 注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25127936/