我想阻止以下情况:
我们目前使用JPA乐观锁定,它为我们的实体提供版本号。在我们的业务逻辑中使用该版本属性来防止修改发生是不是一种坏习惯?
奖金问题:如果可以使用版本属性,那么只允许发生OptimisticLockException以便修改失败是不好的做法?或者只是懒惰?
答案 0 :(得分:1)
这基本上是乐观锁定。版本控制为您提供了一些明显的额外好处。
您是否可以依赖OptimisticLockException
取决于您的申请。如果您在保存可能失败之前执行了大量操作,则可能需要提前检查,即快速失败(尽管最后仍然可能失败)。
在更简单的情况下,你没有理由不等待查看是否抛出异常,因为你无论如何都需要处理它。