トランザクション中でなくてもデータストアから削除されるエンティティ(JDO deletePersistentを使用しています)を完全に説明しているドキュメントが見つかりません。パフォーマンスを向上させ、競合を避けるために、トランザクションを使用しない場合、パラレル更新中にデータの精度を失う可能性があります。datastore:トランザクション外のエンティティを削除する
しかし、どのように私のコードは削除操作が別のマシン上でそのエンティティに前回のリードにを置く/後で更新によって上書きされないことと同時に、異なるマシン上で実行されているときに私が確認することができますPersistenceManagerが、添付されたオブジェクトに対する暗黙的な更新を世話するようにしています。
EDIT: deletePersistentの後にそのエンティティを更新しようとすると例外が発生しますが、これはdeletePersistentに渡されたのとまったく同じコピーを更新しようとするときです。それが別のマシン上の別のコピーであった場合、削除されたエンティティ(有効ではない)を更新するか、またはを挿入または更新してとして処理し、そのエンティティを元に戻します。
私はあなたをよく理解しているかどうかは分かりませんが、エンティティが削除された場合、どのように更新することができますか?もはやそこにはない。 – DaTroop
deletePersistentの後にそのエンティティを更新しようとすると、例外が発生しますが、それはdeletePersistentに渡されたものとまったく同じです。それが別のマシン上の別のコピーであった場合、削除されたエンティティを更新するものとして扱われるため、「それはもう存在しません」 **挿入または更新**すると、そのエンティティを元に戻すことができますか? – blue
IDによってすべてです。正確なコピーであるかどうかは気にしないでください。削除されたエンティティを更新しようとすると、常に例外がスローされます。結局のところ一過性です。データストアはそれについて何も知らない。 – DaTroop