我有一个gui应用程序和保存在数据库中的股票列表。我在整个应用程序运行时使用1个EntityManager来删除,更改和添加新股票。我有一个线程,定期抓住股票的实际股票课程,并将其保存在数据库中。我在线程中使用了另一个实体管理器(导致线程安全)。它看起来像这样:多线程JPA应用程序中的模型更改
// grabbing the actual info and making actualStockPrice with it
....
// adding the correct stock to the new stockprice
actualStockPrice.setStock(stock);
// Can't do the next line cause of duplicate primary key
//stock.getActualStockPrices().add(actualStockPrice);
// Saving new price in db
stockPriceModel.saveActualStockPrice(actualStockPrice);
我有一个按钮来显示股票的所有保存stockprices表。我使用stock.getActualStockPrices()填充表格,但因为我从未将新股票价格添加到股票中,所以该表格仅显示程序开始时存在的股价。如果我取消注释stock.getActualStockPrices()。add(actualStockPrice); 我一旦将股票保存到数据库,导致股票的actualstockpriceList中发现新的stockprice,我就会收到重复的主键错误。那么该怎么办 :?
似乎现在就工作 - 谢谢:) – 2012-03-02 19:29:29
@BieneMaja不客气 – 2012-03-03 05:31:42
我现在遇到了这个问题。假设我的程序运行了很长时间并积累了大量stockPrices。如果我现在想要查看它们,并且我要求股票合并,则可能需要很长时间,具体取决于股票价格的数量(例如1000美元价格的几秒钟)。所以,我不合并的时间越长,合并它们所需的时间越长(有意义)。我可以对此做什么? – 2012-03-05 18:44:17