스프링(15)
-
스프링 - JPA 영속성 전이
24/08/28 지난 포스팅에서 영속성 컨텍스트에 알아보았습니다.오늘은 더 나아가 영속성 전이가무엇인지 코드를 보면서 이해해봅시다. ※ 영속성 전이에 대해 알아보자.📌 영속성 전이: CASCADE는 언제 사용하는가? 특정 엔티티를 영속 상태로 만들 때 연관된 엔티티도 함께 영속 상태로 만들고 싶으면 영속성 전이(Transitive persistence) 기능을 사용하면 된다. JPA는 CASCADE 옵션으로 영속성 전이를 제공하는데 영속성 전이를 사용하면 부모 엔티티를 저장할 때 자식 엔티티도 함께 저장할 수 있다. ▶ CASCADE : PERSIST ● 음식 테이블과 고객 테이블이 N : 1 양방향 관계라 가정해보자. ➡️ CascadeTest pac..
2024.08.28 -
스프링 - JPA 지연로딩
2024/08/27 ※ 지연 로딩에 대해 알아보자. ▶ 지연 로딩과 즉시 로딩 ● 음식 테이블과 고객 테이블이 N : 1 양방향 관계라 가정해보자. ➡️ FetchTypeTestpackage com.sparta.jpaadvance.fetch;import com.sparta.jpaadvance.entity.Food;import com.sparta.jpaadvance.entity.User;import com.sparta.jpaadvance.repository.FoodRepository;import com.sparta.jpaadvance.repository.UserRepository;import org.junit.jupiter.api.Test;import org.sprin..
2024.08.27 -
스프링 - 통합 테스트란?
2024/08/26 ※ 통합 테스트란 무엇일까? ▶ 단위 테스트 vs 통합 테스트 1. 단위 테스트(Unit Test) ● 하나의 모듈이나 클래스에 대해 세밀한 부분까지 테스트가 가능 ● But 모듈 간에 상호 작용 검증은 할 수 없다❗ 2. 통합 테스트(Integration Test) ● 두 개 이상의 모듈이 연결된 상태를 테스트할 수 있다. ● 모듈 간의 연결에서 발생하는 에러 검증 가능 ▶ Spring Boot를 이용한 통합 테스트 ● 통합 테스트 ..
2024.08.26 -
스프링 - Mockito란?
2024/08/23 오늘은 Mockito에 대해 알아보겠습니다.다들 시원한 Mojito를 생각하셨나요?이름은 비슷하지만 모히또가 아니라 모키토랍니다ㅎㅎ ※ Mockito란 무엇일까? ▶ ProductService의 단위 테스트 작성 시도 👉 다음 예시를 통해 mockito에 대해 알아봅시다. ● 관심 상품 최저가 업데이트@Servicepublic class ProductService { // ... public static final int MIN_MY_PRICE = 100; // ... @Transactional public Product updateProduct(Long id, ProductMypri..
2024.08.23 -
스프링 - 테스트 사용 방법
2024/08/22 ※ 단위 테스트란 무엇일까? ▶ 단위 테스트란? 👉 버그 발견 시간이 늦어짐에 따라 비용이 기하급수적으로 커지는 걸 알 수 있다. 1. Development : 개발 2. Unit Tests (단위 테스트) : 개발자 테스트 3. QA Testing : ● 블랙박스 테스팅 ● 주로 QA 팀이 Production 환경과 유사한 환경(Stage)에서 테스팅 ❓ 블랙박스 테스트 ● 소프트웨어의 내부 동작 및 코드에 대한 지식 없이 외부의 입력에 대한 출력을 테스..
2024.08.22 -
스프링 - JPA Query Methods란 무엇일까?
2024/08/21 ※ Query Methods란 무엇일까? ▶ Query Methods란? ● Spring Data JPA에서는 메서드 이름으로 SQL을 생성할 수 있는 Query Methods 기능을 제공한다.🔎 스프링 Document에 JPA Query Methods에 대해 상세하게 나와 있다. https://docs.spring.io/spring-data/jpa/reference/jpa/query-methods.html ● JpaRepository 인터페이스에서 해당 인터페이스와 매핑되어있는 테이블에 요청하고자하는 SQL을 메서드 이름을 사용하여 선언할 수 있다. 👉..
2024.08.21