我有一团 Play Framework(1.2.5)/JPA 代码,如下所示:
List<MyObject> nL = MyObject.find("uuid", SubscriptionReferrer).fetch();
MyObject n = nL.get(0);
n.subscriptions.add(SubscriptionReference);
n.save();
JPA.em().flush();
JPA.em().getTransaction().commit();
因为它是在控制器领域之外调用的,所以我要求 JPA 编写记录。无论如何,基本上有人订阅了一个产品,这个方法被调用了。但他们也可以同时订阅多个产品,从而创建对该方法的多个单独调用。
我似乎遇到的问题是,当调用并行运行时,
List<MyObject> nL = MyObject.find("uuid", SubscriptionReferrer).fetch();
MyObject n = nL.get(0);
bit 被调用并返回对象,但该对象对于所有调用都是单独的,并且当提交保存时,最后一个对象获胜,并且所有其他对象都被覆盖。
==编辑== 另外,我不知道会通过多少订阅,因为它来自第 3 方支付提供商。
那么,有没有一种明智的方法可以让我在不编写一些额外的缓存层的情况下保存对对象的所有更新?
谢谢
汤姆