すべての削除が必要な場合は、all-or-nothingを実行します。
- 何も変わらなければ。削除のグループはアトミックになりますか?
- 外部トランザクションを削除すると、何か変更されますか?
- 内部トランザクションのみを削除した場合、グループはアトミックになりますか?
- Ig for-cycleをバッチ削除に置き換え、外部トランザクションのみを残しますか?
//イベントプラン内dao public void delete(EventPlan eventPlan){ 最終的なObjectifyofy= Objectify.beginTransaction(); 試す { 最終的なActivityDAOactivityDao= new ActivityDAO(); for(final Activity activity:eventPlan.getActivities()){ activityDao.delete(activity); } ofy.getTxn()。commit(); } ついに { if(ofy.getTxn()。isActive()){ ofy.getTxn()。rollback(); | } }
//アクティビティdao内 public void delete(Activity activity){ 最終的なObjectifyofy= Objectify.beginTransaction(); 試す { //ここでいくつかのロジックを実行し、アクティビティを削除してtxnをコミットします } ついに { //通常どおりチェックしてロールバックします } }