ORMLite을 사용하여 내 안드로이드 애플 리케이션에서 데이터베이스를 관리하고 있으며, 꽤 잘 작동하고 있습니다. 그러나 때때로 데이터를 업데이트하려고 할 때 제약 조건을 포함하는 예외가 발생합니다. 예외는 제가 전화하는 곳을 추적하는데 도움이되었습니다 callBatchTasks().(ORMLite의) callBatchTasks는 별도의 스레드에서 실행됩니까?
실제로 그 시점에서 일련의 3 번 통화입니다. 첫 번째 호출은 Table1과 Table2를 업데이트합니다. 마지막 호출은 Table1과 Table2 간의 관계를 지정하는 데 사용되는 테이블 (Table3)을 업데이트합니다 (따라서 제약 조건도가집니다). 이것은 예외를 얻는 것입니다.
table1Dao.callBatchTasks(table1task);
table2Dao.callBatchTasks(table2task);
table3Dao.callBatchTasks(table3task); // Exception here
작업에 callable
이 구현되어 있으므로 각각 별도의 스레드에서 실행됩니다. 따라서 table3task가 다른 것보다 앞서 가면 제약 조건 문제가 발생합니다. 사실입니까? 그렇다면 순서대로 실행되도록 권장되는 해결 방법은 무엇입니까?
그게 내 생각을 (내 문제를 파악한 후). 어쨌든, 응답 주셔서 감사합니다! 나는 실제로 질문에 답하기 때문에 답으로 표시하고있다. – compuguru