用JPAversioning/optimistic加锁防止旧数据被提交修改可以吗?

Is it okay to use JPA versioning/optimistic locking to prevent old data from being submitted for modification?

我想防止以下情况:

我们目前使用 JPA 乐观锁定,它为我们的实体提供了一个版本号。在我们的业务逻辑中使用该版本属性来防止修改发生是否是一种不好的做法?

额外问题:如果可以使用版本属性,那么只允许发生 OptimisticLockException 以致修改失败是否是一种不好的做法?还是只是懒惰?

这就是乐观锁定的本质。版本控制为您带来一些明显的额外好处。

是否可以只依赖 OptimisticLockException 取决于您的应用程序。如果您在保存可能失败之前执行了很多操作,那么提前检查可能是有意义的,即快速失败(尽管最后仍然会失败)。

在更简单的情况下,您没有理由不等着看是否抛出异常,因为无论如何您都需要处理它。