リストの要素の 1 つが確立されたビジネス ルール内の理由で失敗した場合 (つまり、カスタマイズ例外をスローした場合)、ロールバックを実行できる方法を見つけようとしています。
例 (リスト内の 1 つの要素が失敗した場合、アイデアは何も記録しません)
public class ControlSaveElement {
public void saveRecords(List<MyRecord> listRecords) {
Boolean status = true;
foreach(MyRecord element: listRecords) {
// Here is business rules
if(element.getStatus() == false) {
// something
status = false;
}
element.persist();
}
if(status == false) {
// I need to do roll back from all elements persisted before
}
}
...
}
何か案が?Roo 1.2.2 で作業しています。