-
Notifications
You must be signed in to change notification settings - Fork 1
실전 : Section 4‐6
영주 edited this page May 25, 2024
·
3 revisions
실습 코드 : 깃허브 코드 참고
-
@PersistenceContext
: 엔티티 매니저(EntityManager
) 주입 -
@PersistenceUnit
: 엔티티 매니저 팩토리(EntityManagerFactory
) 주입 - sql은 테이블을 대상, jpql은 엔티티를 대상으로 쿼리 짬
-
@RunWith(SpringRunner.class)
: 스프링과 테스트 통합- JUnit4에서만 존재함
⇒ JUnit5에서는@ExtendWith(SpringExtension.class
으로 바꿔줘야 함
- JUnit4에서만 존재함
-
@SpringBootTest
: 스프링 부트 띄우고 테스트
실습 코드 : 깃허브 코드 참고
실습 코드 : 깃허브 코드 참고
-
assertEquals("상품 주문시 상태는 ORDER", OrderStatus.*ORDER*, getOrder.getStatus());
JUnit5에서는 오류가 나서
*assertThat*(OrderStatus.*ORDER*).as("상품 주문시 상태는 ORDER").isEqualTo(getOrder.getStatus());
이렇게 고쳤음 -
@Test(expected = NotEnoughStockException.class)
JUnit5에서는 지원을 안 함
*assertThrows*(NotEnoughStockException.class, () -> {orderService.order(member.getId(), item.getId(), orderCount);});
-
쿼리 생성할 때
List<Order> resultList = em.createQuery("select o from Order o join o.member m" + " where o.status = :status" + " and m.name like :name", Order.class).getResultList();
- “ 뒤에 띄어쓰기 주의!!
- JPQL로 처리
- JPA Criteria로 처리
- Querydsl 사용
동적 쿼리 작성할 때는 queryDsl 쓰는 게 좋음 (강의에서는 자세하게 안 알랴주심)