핵심 요약이 글에서 바로 이해할 것 @Transactional이 무엇을 보장하고, 어디에 붙일 때 의미가 살아나는지 정리합니다.이 글에서 바로 해결할 것 롤백이 안 되는 이유, readOnly = true를 붙여도 왜 수정이 되는 것처럼 보이는지 실무 관점으로 설명합니다.바로 확인할 설정 예외 타입, 프록시 호출 구조, 메서드 접근제한자, 트랜잭션 경계 위치를 체크합니다.핵심 결론 @Transactional은 "붙이면 끝"이 아니라 어디서 시작되고 어떤 예외에서 끝나는지를 알아야 제대로 쓸 수 있습니다.한눈에 보는 개념 / 구조항목설명실무 포인트@Transactional여러 DB 작업을 하나의 트랜잭션으로 묶어 성공하면 커밋하고, 실패하면 롤백하도록 만드는 Spring 선언형 트랜잭션 기능입니다.서비스 ..
트랜잭션(Transaction)이란? ACID와 격리수준까지 쉽게 이해하기데이터베이스를 공부하다 보면 트랜잭션(Transaction)과 ACID는 거의 반드시 만나게 됩니다. 그런데 처음 보면 용어 자체가 조금 딱딱해서, “대충 중요한 개념인 것 같은데 정확히는 모르겠다”는 상태로 넘어가기 쉽습니다.하지만 트랜잭션은 생각보다 어렵지 않습니다. 오히려 실무에서는 굉장히 직관적인 개념입니다.먼저 핵심부터트랜잭션은 하나의 작업처럼 묶어서 처리해야 하는 SQL 실행 단위입니다.중간에 문제가 생기면 전부 취소(ROLLBACK)하고, 문제가 없으면 한 번에 반영(COMMIT)합니다.ACID는 이런 트랜잭션이 지켜야 할 핵심 성질입니다.이번 글에서는 트랜잭션이 왜 필요한지, COMMIT과 ROLLBACK은 무엇인지,..
