Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 一次性数据库操作(一次转换)_Hibernate_Spring Mvc_Service_Dao_Transactional - Fatal编程技术网

Hibernate 一次性数据库操作(一次转换)

Hibernate 一次性数据库操作(一次转换),hibernate,spring-mvc,service,dao,transactional,Hibernate,Spring Mvc,Service,Dao,Transactional,我正在开发驾驶员预订管理系统。 我想做的是,我需要在预订表中添加驾驶员(这意味着将预订分配给驾驶员)。在此之前,我需要检查预订记录是否与驾驶员记录关联(预订是否已分配),如果是,则不执行任何操作 只要一个用户这样做,它就可以正常工作。 但问题是,多个用户在同一时间对同一记录执行此操作 如何处理这种情况。 我知道@transactional注释。这是正确的解决方案吗? 我是否应该将此应用于单一方法,而不是我的预订分配服务 使用sync block会大大降低处理速度,因此目前我反对此选项乐观锁定假设

我正在开发
驾驶员预订管理系统。
我想做的是,我需要在
预订表
中添加
驾驶员
(这意味着将预订分配给驾驶员)。在此之前,我需要检查预订记录是否与驾驶员记录关联(预订是否已分配),如果是,则不执行任何操作

只要一个用户这样做,它就可以正常工作。 但问题是,多个用户在同一时间对同一记录执行此操作

如何处理这种情况。 我知道
@transactional
注释。这是正确的解决方案吗? 我是否应该将此应用于单一方法,而不是我的
预订分配服务


使用
sync block
会大大降低处理速度,因此目前我反对此选项

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


在乐观锁的帮助下,你可以处理你的问题。Hibernate提供了实现此功能的方法。

谢谢,我会尝试,然后确认。