有人可以告诉我此@Version究竟如何用于锁定吗?因为我看不到版本字段保存在Couchbase中,但是当我检索它时,此字段填充了一些随机值。
保存时是否应该手动设置此值?例如,我有一个POST和PUT端点。如果未使用现有版本号设置版本,则会收到DocumentAlready存在错误。但是对于POST,无需设置版本即可保存(我想它会自动为新记录生成新的随机值)。
答案 0 :(得分:1)
在ouchbase中,每个文档都有一些与之关联的元数据,例如:
"cas": 1571854188210290688,
"expiration": 0,
"flags": 0,
"id": "path::3c23b8a1-55ca-4cd9-a3cc-d6641abf1adc",
"type": "json"
如果您将Couchbase与Spring Data结合使用,则这些数据通常对您是透明的,但是如果需要,您可以将其注入字段中。这正是@Id注释发生的情况。除非您想进行一些乐观/悲观锁定,否则您不必担心@Version。