2012-08-17 41 views
1

我正在使用Play!框架,并在以下情况下遇到困难。 我有一个服务器进程,它具有“只读”事务。这是为了防止由于执行而导致任何可能的数据库锁定,因为这是一个复杂的过程有一个或两个记录需要存储,但我将其作为一项工作,因为我发现在主线程中执行这些记录可能会导致更高负载下的死锁。找不到刚刚在JPA的另一个线程中创建的记录

但是,有一次我需要创建一个对象并随后使用它。 但是,当我使用Job创建对象时,请等待生成的id(带有Promise返回值),然后在数据库中搜索它,找不到它。

有没有一种简单的方法可以在此时在数据库中重新搜索JPA?我实施了5秒。暂停测试,所以我起诉它并不是因为程序尚未完成。

回答

0

检查您的INSERT周围是否有一笔交易,以及是否有一笔支票交易是COMMIT ed。

+0

它承诺了,我可以在数据库中检查它(我在创建和搜索之间停留了10秒)。在我看来,对或错,父线程的JPA并没有考虑到数据库的任何新增加。 – 2012-08-17 11:58:46

相关问题