Replies: 2 comments
-
📚 트랜잭션트랜잭션(Transaction)은 데이터베이스의 작업을 수행하는 하나의 논리적 작업 단위를 의미합니다. 트랜잭션은 반드시 모두 성공하거나 모두 실패해야 하는 원자성을 보장합니다. 만약 트랜잭션 도중에 오류가 발생하면, 트랜잭션 내 모든 작업은 원래 상태로 복구되어야 합니다. 트랜잭션은 다음과 같은 4가지 특성(ACID)을 만족해야 합니다.
예를 들어, 은행에서 계좌 이체를 할 때, 출금과 입금은 반드시 함께 성공하거나 함께 실패해야 합니다. 출금만 되고 입금이 안 된다면 데이터베이스의 신뢰성이 크게 훼손되기 때문입니다. 📚 스프링 프로젝트에서 트랜잭션 관리 방법스프링에서는 트랜잭션 관리를 매우 쉽게 지원합니다. 개발자가 직접 트랜잭션을 시작하고 종료하는 복잡한 코드를 작성할 필요 없이, 주로 1. 선언적 트랜잭션 관리스프링은
2. 프로그래밍 방식 트랜잭션 관리경우에 따라서는 트랜잭션 매니저를 직접 호출하여 세밀하게 제어할 수도 있습니다.
하지만 이 방법은 코드가 복잡해지므로 일반적인 경우에는 |
Beta Was this translation helpful? Give feedback.
-
질문 1. 트랜잭션이란 무엇인가요?답변: 트랜잭션은 데이터베이스의 작업을 하나의 논리적 단위로 묶은 것으로, 모두 성공하거나 모두 실패해야 하는 원자성을 보장합니다. 트랜잭션은 원자성(Atomicity), 일관성(Consistency), 격리성(Isolation), 지속성(Durability)이라는 ACID 특성을 만족해야 합니다. 이를 통해 데이터베이스의 신뢰성과 일관성을 유지할 수 있습니다. 질문 2. 스프링에서는 트랜잭션을 어떻게 관리하나요?답변: 스프링에서는 트랜잭션이 적용된 메서드가 실행되면 스프링이 트랜잭션을 자동으로 시작하고, 메서드가 정상 종료되면 커밋하며, 예외가 발생하면 롤백합니다. 또한, 트랜잭션 전파(propagation)나 격리 수준(isolation level)과 같은 세부 설정도 어노테이션의 속성으로 간편하게 조정할 수 있습니다. 질문 3.
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
😉
Beta Was this translation helpful? Give feedback.
All reactions