だが、私は例外を持っている第5回更新した後、私は最初の4つの操作がとにかくコミットされることを希望することを仮定しましょう、私は私のサービスで2つの方法@Transactional multiple update;すべての単一のクエリ
public void updateAll() {
long[] ids = new long[] {1,2,3,4,5,6,7,8,9,10};
for (long id : ids) {
updateId(id);
}
}
public updateId(long id) {
repository.update(id);
}
を持ってコミットします。
私は@ Transactionalアノテーションを使用していますが、両方のメソッドに注釈を入れても機能しません。
他のパラメータは必要ですか?それは伝播かもしれない??
この方法の設定方法を教えてください。
ありがとうございました!
それがあるべき: 「@Transactional(伝播= Propagation.REQUIRES_NEW) 公共ボイドすべて更新(){...}} @Transactional(伝播= Propagation.REQUIRES_NEW) パブリック更新ID(長いID){ ..} ' – pacio14
@ pacio14はい、そうです。別のbeanから2番目のメソッドを呼び出していることを確認してください* – Eugene