我面临着非常奇怪的问题,根据我的知识,我无法确定问题是如何发生的。 在我的应用程序中,用户A在其余额中包含100,而A向用户B发送50(B需要点击接收以接收50的金额)。但在B收到之前,A拒绝了转让 并启动另一个转移到用户C,金额为10。
理想情况下,A应该有90个权利。
但是发生了什么,我看到服务器端的日志同时处理拒绝和转移请求。所以拒绝请求和转移请求从表中获得余额,即50。现在拒绝请求更新余额50 + 50并且表中的余额为100,但由于转移请求持有对象A并且它包含来自该对象的余额50转移到C,余额是40,更新。现在A在他的余额中有40个错误..
我使用的是Spring Boot,JPA,angularJS,
我如何解决这些问题。如何在JPA中应用ACID方法。刚才我在JAPConfig中更新了
props.put("hibernate.connection.isolation", String.valueOf(Connection.TRANSACTION_SERIALIZABLE));
以上配置将帮助我解决问题。