분명히 트랜잭션 롤백에 대한 도움이 필요합니다. 저는 Spring/JPA/Hibernate 어플리케이션에서 일하고 있습니다. 나를 위해 catch 된 RuntimeException으로 롤백
,RuntimeException
그들이 사로 잡았에도 경우, 다시 트랜잭션을 롤백하고 있습니다. 나는 몇 가지 테스트 (내가 더 이상 필요가 없으므로 여기에 불행히도 넣을 수 없음)와 수치를 통해 이것을 추론합니다.
하지만 다음 코드를 사용하여 또 다른 문제가 발생 해요 :
public class Service implements IService {
@Transactional
public void test()
{
// ...
try {
throw new RuntimeException();
} catch (RuntimeException re) {
}
foo.setBar(barValue);
this.fooDao.save(foo);
}
}
컨트롤러에서이 작업을 실행 한 후, bar
매개 변수의 변화는 트랜잭션이 롤백 할되지 않았 음을 의미하는 내 데이터베이스에 존재한다.
이제 질문
합니까 롤백에 사로 잡았 RuntimeException의 리드 또는 내가 잘못입니까?
아마도 여기에 무슨 일이 일어나고 있는지 이해하지 못 하겠지만 catch 블록 안에 롤백 코드를 넣을 필요가 없습니까? –