我使用ORMLite來管理我的數據庫在我的Android應用程序,它一直工作得很好。有時候,當我嘗試更新數據時,我會得到一個包含約束約束的異常。這個例外幫助我追溯到我撥打callBatchTasks()的地方。CallBatchTasks(來自ORMLite)是否在單獨的線程中運行?
這實際上是在這一點上的一系列3個電話。第一次調用2更新Table1和Table2。最後一次調用更新一個表(表3),該表用於指定Table1和Table2之間的關係(因此具有約束)。這是得到例外的那個。
table1Dao.callBatchTasks(table1task);
table2Dao.callBatchTasks(table2task);
table3Dao.callBatchTasks(table3task); // Exception here
由於任務執行callable
我想每個都在一個單獨的線程上運行。所以如果table3任務超過其他任何一個,它會遇到一個約束問題。這是真的?如果是這樣,建議的解決方法是什麼,以便它們按順序執行?
這就是我想的(在找出我的問題後)。無論如何,謝謝你的迴應!我將它標記爲答案,因爲它實際上回答了問題 – compuguru