본문 바로가기
Spring/Spring Data Jpa

1. 프로젝트 환경설정

by wch_t 2024. 3. 22.

https://start.spring.io/

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