Project: Gradle-Groovy
Language: Java
Spring Boot: 3.2.3
Dependency: Spring Web, Lombok, Spring Data Jpa, H2 Database
이전 강의에서 H2 DB 버전에 맞게 Dependency를 수정해주었다.
[build.gradle]
runtimeOnly 'com.h2database:h2:2.2.220'
- 추가로 테이블에 값을 insert 시에, 쿼리 value에 어떤 값이 들어가는지 가시화 해주는 라이브러리를 가져온다.
cf. 운영 시스템에 적용할 때는 꼭 성능테스트를 하고 사용하는 것이 좋다.
implementation ‘com.github.gavlyukovskiy:p6spy-spring-boot-starter:{version}’
[복습]
@SpringBootTest
: 스프링 부트 애플리케이션의 전체 컨텍스트를 로드하여 테스트한다.
즉. @SpringBootApplication 어노테이션이 붙은 클래스의 위치를 기반으로 컴포넌트 스캔을 수행하여 테스트를 진행한다.
@Transactional
: JPA의 모든 데이터 변경은 트랜잭션 안에서 이루어져야 한다.
+. 같은 트랜잭션 안에서는 영속성 컨텍스트의 동일성을 보장한다. (1차 캐시)
만약 트랜잭션이 다르면, 다른 객체로 인식한다.
assertThat(findMember).isEqualTo(member);
@Rollback(false)
: DB 트랜잭션의 롤백 여부를 제어한다.
기본값으로는 true이며, false로 설정하면 테스트가 종료된 후에도 DB 변경 사항을 유지한다.
'Spring > Spring Data Jpa' 카테고리의 다른 글
6. 스프링 데이터 JPA 분석 (0) | 2024.04.12 |
---|---|
5. 확장 기능 (0) | 2024.04.11 |
4. 쿼리 메소드 기능 (0) | 2024.03.25 |
3. 공통 인터페이스 기능 (1) | 2024.03.24 |
2. 예제 도메인 모델 (1) | 2024.03.23 |