Spring - 管理restcontroller之间的事务

时间:2018-03-14 11:48:57

标签: java spring transactions spring-transactions

简而言之 :我会将数据推送到前端修改然后提交。所有这些都应该通过一次交易来管理。

详细 :我目前正在开发一个spring + angular应用程序,其中数据一致性非常重要。我需要确保与某种事务管理的数据一致性。

大多数宁静的Web应用程序数据由前端检索并修改,并通过其他控制器推送到后端。在这里,我需要确保任何其他客户端在我拉动它之后没有修改相同的数据。

Afaik spring仅在后端管理交易(我可能错了),但这里有棱角的一面是交易的黑暗面。

我需要弄清楚 :在java(尤其是春天)世界中,这个问题是如何解决的。

到目前为止我找到了 : 用于并发控制的Hibernate Versioning数据: https://dzone.com/articles/version-based-optimistic

1 个答案:

答案 0 :(得分:1)

正如您所解释的那样,您的前方(角度)会提取信息,此时您的前方会失去对记录或数据库的控制权,因此您无法避免信息被他人修改。由于前端组件和后端之间没有真正的链接,您可以考虑在数据库中包含一个用于控制修改的列,例如" lock"状态,但这不是一个简单的解决方案,它还带来了另一个问题,例如:如果有人想要编辑记录但突然离开或退出你的前端应用程序,那就锁定"记录可能永远处于该状态,因此需要实施其他考虑因素和控制措施。