我有一个拥有版本字段的实体,以防止并发修改。
@Version
@Column(name = "version", columnDefinition = "integer DEFAULT 0", nullable = false)
private long version = 0L;
还有另一个软件“ A”,它将发送心跳以5hz之类的频率更新实体状态。反序列化后,来自“ A”的对象的版本默认值为0L。当然,这将导致乐观的失败,因此我必须查询最新的实体并从软件A心跳中设置内容,以确保更新成功。效率似乎很差。有更好的方法吗?