すべての削除が必要な場合は、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をコミットします
} ついに {
//通常どおりチェックしてロールバックします
}
}