@Transactional2 Transaction silently rolled back because it has been marked as rollback-only 트랜잭션 처리가 필요한 메서드의 코드에서 Runtime 예외가 발생하고, 그 메서드를 호출하는 메서드에서 해당 부분을 예외 처리를 무시하는 방식으로 넘겼더니 실행 과정에서 "Transaction silently rolled back because it has been marked as rollback-only" 오류가 발생했다. 이 오류는 트랜잭션이 롤백 상태로 표시되어 커밋되지 않고 자동으로 롤백되었음을 의미한다. 이 문제는 주로 트랜잭션 관리와 관련된 설정이나 코드에서 발생할 수 있다. 이 포스트에서는 이 문제의 주요 원인과 해결 방법을 상세히 설명한다. 문제 원인1. 예외 발생트랜잭션 내에서 RuntimeException이나 Error가 발생하면 Spring은 기본적으로 트랜잭션을 롤백한다. 이는 .. 2024. 9. 12. @Transactional 특징, 사용방법, 주의점 😤 배경 스프링에서 트랜잭션 처리가 필요한 경우, 나는 간단하게 JPA와 함께 @Transactional 어노테이션을 클래스 혹은 메서드에 설정해 왔다. 그러던 중 최근 운영 중인 서비스에서 Transaction Lock 이슈가 발생하면서 문득 이렇게 막 사용하는 게 옳은 일인가를 고민하게 되었고, 조사 및 정리 차원에서 해당 내용에 대해 작성하게 되었다. 해당 포스팅에서는 @Transactional 개념과 원리보다는 특징, 사용 방법, 주의점에 대해서 간단하게 설명하고자 한다. 1. 특징 @Transactional은 다음과 같은 특징을 가지고 있다. - AOP를 통해 구현되었다. - 어노테이션이 선언된 클래스에 트랜잭션이 적용된 프록시 객체가 생성된다. - CheckedException 또는 예외가 없.. 2023. 8. 15. 이전 1 다음