Hibernate 一次性数据库操作(一次转换)
我正在开发Hibernate 一次性数据库操作(一次转换),hibernate,spring-mvc,service,dao,transactional,Hibernate,Spring Mvc,Service,Dao,Transactional,我正在开发驾驶员预订管理系统。 我想做的是,我需要在预订表中添加驾驶员(这意味着将预订分配给驾驶员)。在此之前,我需要检查预订记录是否与驾驶员记录关联(预订是否已分配),如果是,则不执行任何操作 只要一个用户这样做,它就可以正常工作。 但问题是,多个用户在同一时间对同一记录执行此操作 如何处理这种情况。 我知道@transactional注释。这是正确的解决方案吗? 我是否应该将此应用于单一方法,而不是我的预订分配服务 使用sync block会大大降低处理速度,因此目前我反对此选项乐观锁定假设
驾驶员预订管理系统。
我想做的是,我需要在预订表
中添加驾驶员
(这意味着将预订分配给驾驶员)。在此之前,我需要检查预订记录是否与驾驶员记录关联(预订是否已分配),如果是,则不执行任何操作
只要一个用户这样做,它就可以正常工作。
但问题是,多个用户在同一时间对同一记录执行此操作
如何处理这种情况。
我知道@transactional
注释。这是正确的解决方案吗?
我是否应该将此应用于单一方法,而不是我的预订分配服务
使用sync block
会大大降低处理速度,因此目前我反对此选项乐观锁定假设多个事务可以在不影响彼此的情况下完成,因此事务可以在不锁定其影响的数据资源的情况下继续进行。在提交之前,每个事务都验证没有其他事务修改其数据。如果检查显示有冲突的修改,提交事务将回滚[1]
在乐观锁的帮助下,你可以处理你的问题。Hibernate提供了实现此功能的方法。谢谢,我会尝试,然后确认。