@Transactional
-
트랜잭션(Transaction)BackEnd/Spring DB 2023. 1. 27. 07:00
트랜잭션 ACID 원자성(Atomicity): 트랜잭션 내에서 실행한 작업들은 마치 하나의 작업인 것처럼 모두 성공하거나 실패해야 한다. 일관성(Consistency): 모든 트랜잭션은 일관성 있는 데이터베이스 상태를 유지해야 한다. 격리성(Isolation): 동시에 실행되는 트랜잭션들이 서로에게 영향을 미치지 않도록 격리한다. 격리성은 동시성과 관련된 성능 이슈로 인해 트랜잭션 격리 수준(Isolation level)을 선택할 수 있다. 지속성(Durability): 트랜잭션을 성공적으로 끝내면 그 결과가 항상 기록되어야 한다. 트랜잭션 격리 수준(Isolation level) READ UNCOMMITED(커밋되지 않은 읽기) READ COMMITTED(커밋된 읽기) REPEATABLE READ(반복..
-
04. 사용자 정의 리포지토리BackEnd/Spring Data JPA 2021. 10. 26. 19:30
Spring Data JPA Repository는 인터페이스만 정의하고 구현체는 스프링이 자동 생성합니다. 사용자 정의 Repository 구현 클래스 명명 규칙은 사용자 정의 인터페이스명 + "Impl" 이며, Spring Data JPA가 인식해서 Spring Bean으로 등록합니다. Impl 대신 다른 이름으로 변경 방법 // XML 설정 // JavaConfig 설정 @EnableJpaRepositories(basePackages = "study.datajpa.repository", repositoryImplementationPostfix = "Impl") 인터페이스의 메서드 직접 구현 방식 JPA 직접 사용(EntityManager) Spring JDBC Template MyBatis Datab..
-
02. TransactionSpring Web Project/7. AOP와 트랜잭션 (Transaction) 2021. 1. 31. 15:52
1. 트랜잭션의 기본 원칙(ACID 속성) 1) 원자성(Atomicity) : 하나의 트랜잭션은 모두 하나의 단위로 처리 2) 일관성(Consistency) : 트랜잭션이 성공했다면 DB의 모든 데이터는 일관성 유지 3) 격리(Isolation) : 트랜잭션으로 처리되는 중간에 외부의 간섭은 없어야함 4) 영속성(Durability) : 트랜잭션이 성공적으로 처리되면, 그 결과는 영속적으로 보관 2. 트랜잭션 매니저 설정 > 하나의 DataSource를 사용하는 경우, 스프링에서 제공하는 DataSourceTransactionManager를 이용, DataSource 주입 > 은 @Transactional 애노테이션을 이용한 트랜잭션 관리가 가능 Note) @Transactional 우선순위 1) 메소드..