Dil*_*Dev 4 java spring spring-data-mongodb spring-boot
我无法执行更新操作。将 spring boot 与 mongodb 3.4 结合使用。在尝试保存时,我收到以下错误:
WriteError{code=11000, message='E11000重复键错误集合
我的域类正在扩展另一个基域类。我目前的发现是基域类包含用 @Version 注释的“私有长版本”。我的猜测是这是导致问题的领域。到目前为止我尝试过的事情:
更新 Employee 时服务层出现问题。无法将版本 1 的实体 119794669940 保存到 Employee 集合。同时修改了吗?
WriteError{code=11000, message='E11000重复键错误集合。
一些附加信息:
任何人都知道发生了什么事或如何进一步进行?
null如果您尝试使用或(对于原语)来持久化实体,0则它将被视为新实体。
如果版本是其他版本,则将其视为更新,并检查该版本是否为乐观锁定数据库中存在的版本。
因此您需要设置版本。将其包含在请求正文中,或者尝试从数据库加载实体并使用其中的版本(如果找到)。当然,后一个版本有点违背了乐观锁定的想法。
如果您使用 Spring Data Rest ,另请参阅有关版本属性处理的答案
| 归档时间: |
|
| 查看次数: |
2529 次 |
| 最近记录: |