Você deve usar ContentProviderOperation. Como é seu
ContentProvider
você pode garantir que applyBatch()
executará todas as operações dentro de uma transação. Todos os provedores de conteúdo padrão também garantem que esse seja o caso. Veja minha postagem no blog sobre ContentProviderOperation em geral e minha outra postagem sobre como usar withBackReference() para acessar resultados de operações anteriores - que você precisa acessar o
orderId
. Uma advertência importante:todas as
ContentProviderOperations
de um lote deve usar a mesma autoridade - mas pode usar URIs diferentes! No seu caso não deve ser problema.