본문 바로가기

728x90
반응형

개발일기/JPA

(3)
JPA API (엔티티를 DTO로 변환 , DTO로 바로 조회) 엔티티를 DTO로 변환하여 출력(with.fetch join) controller @GetMapping("/api/v3/simple-orders") public Result ordersV3() { List result = or.findAllWithMemberDelivery(); List dto = result.stream() .map(o -> new SimpleOrderDto(o)) .collect(Collectors.toList()); return new Result(dto); } @Data @AllArgsConstructor static class SimpleOrderDto{ private Long orderId; private String name; private LocalDateTime order..
JPA 기본 빌더패턴 (@Builder) 빌더패턴에 장점 불필요한 생성자의 제거 데이터의 순서에 상관없이 객체생성 가능 명시적 선언으로 이해하기가 쉽고 각 인자가 어떤 의미인지 알기 쉽다.(가독성) setter 메서드가 없으므로 변경 불가능한 객체를 만들수있다.(객체불변성) 한번에 객체를 생성하므로 객체 일관성이 깨지지 않는다. build() 함수가 null인지 체크해주므로 검증이 가능한다. (안그러면 set하지않은 객체에대해 get을 하게되는경우 nullPointerExcetpion발생 등등의 문제가 생김) ex) @Builder public class Person { private String name; private int age; private int phone; } Person person = Person...
JPQL 조회 TEST @Test public void startJPQL(){ //member1을 찾아라 Member findMember = em.createQuery("select m from Member m where username = :username",Member.class) .setParameter("username","member1") .getSingleResult(); Assertions.assertThat(findMember.getUsername()).isEqualTo("member1"); } username이 "member1"인 단일 데이터 조회 Assertions.assertThat 을 통하여 정합성 확인

728x90
반응형