0

我正在开发一个driver-booking管理系统。我想要做的是我需要添加一个driverbooking table这意味着将预订分配给司机)。在此之前,我需要检查预订记录是否与驾驶员记录相关联(预订是否已分配),如果是则什么也不做。

它适用于一个用户这样做。但问题是多个用户在same record, same time.

如何处理这种情况。我知道@transactional 注释。这是正确的解决方案吗?我应该将其应用于单一方法而不是我的booking Assigning Service?

使用sync block会减慢处理速度,所以目前我反对这个选项

4

1 回答 1

2

乐观锁定假设多个事务可以在不相互影响的情况下完成,因此事务可以在不锁定它们影响的数据资源的情况下继续进行。在提交之前,每个事务都会验证没有其他事务修改过它的数据。如果检查显示有冲突的修改,提交事务将回滚[1]。

在乐观锁的帮助下,您可以处理您的问题。Hibernate 提供了实现这一点的方法。

于 2013-08-29T11:33:11.713 回答