は、それがサービスクラスで春JPAサービス - 検証 - 私はAPIを持つランタイム例外
@Transaction
void method(){
try{
service1.insertOne();
service2.insertTwo();
}
catch(Exception ex) {
// log exception
}
}
以下のように見える、私は一定の妥当性をチェックしていると私はRuntimeException
のサブクラスである例外をスローしています。この例外をスローすると、javax.persistence.RollbackException: Transaction marked as rollbackOnly
となります。最初のサービスのデータが挿入されないようにしている間、2番目のサービスの検証が失敗しているので、これがこのシナリオを処理する正しい方法であるかどうかはかなり確信していません。
例外がサブクラスException
でない場合、service2の検証に失敗した場合でも、service1のデータが挿入されますが、カスタム例外がスローされて表示されます。だからどこが間違っているのか分からない。どんな助けもありがとうございます。