JPQL

주문조회 V4 - JPA에서 DTO로 바로 조회 V4: JPA에서 DTO로 바로 조회하여 Select절에서 원하는 데이터만 선택하여 조회하는 방법을 알아보겠다. @GetMapping("/api/v4/simple-orders") public List ordersV4() { return orderSimpleQueryRepository.findOrderDtos(); } Controller에 다음 코드를 추가한다. 이전 V3와 다른점이 보일 것이다. 바로 기존 DTO가 아니라 새로운 DTO로 반환한다. 또한, 참조하는 레포지토리도 변경되었다. 또, 엔티티를 DTO로 변환하는 작업도 없어진 것을 볼 수 있다. 지금부터 하나하나 설명 하겠다. 우선 새로 만든 레포지토리 이다. @Repository @Required..
주문조회 - 엔티티 직접 노출 @GetMapping("/api/v1/simple-orders") public List orderV1(){ List orders = orderRepository .findAllByString(new OrderSearch()); return orders; } 다음과 같이 엔티티를 직접 반환 하였다. 위의 코드를 그냥 호출하면 오류가 발생한다. 그 이유는 무한 루프에 빠지기 때문이다.. 여기서 왜 무한 루프에 빠지게 될까? 바로 order가 Member, Delivery, Order_Item과 양방향 연관관계를 맺고 있기 때문이다. Order에서 Member, Delivery, Order_Item를 조회하는데 3개의 객체에서도 Order를 참조하고 있기 때문에 무한 루프가 발생..
객체지향 쿼리 언어2 1. JPQL- 경로 표현식 .(점)을 찍어 객체 그래프를 탐색 하는 것 m.username -> 상태 필드 m.team -> 단일 값 연관 필드 m.orders -> 컬렉션 값 연관 필드 1) 용어 정리 상태필드: 단순히 값을 저장하기 위한 경로 탐색의 끝 탐색 x 연관필드: 연관관계를 위한 필드 단일 값 연관 필드: @ManyToOne, @OneToOne, 대상이 엔티티 묵시적 내부 조인(inner join) 발생, 탐색o 컬렉션 값 연관 필드: @OneToMany, @ManyToMany, 대상이 컬렉션 묵지석 내부 조인 발생, 탐색 x From 절에서 명시적 조인을 통해 별칭을 얻으면 별칭을 통해 탐색 가능 2) 명시적 조인, 묵시적 조인 명시적 조인: join 키워드 직접 사..
객체지향 쿼리 언어1 목차 객체지향 쿼리 언어 소개 JPQL 기본 문법과 기능 페치 조인 경로 표현식 다현성 쿼리 엔티티 직접 사용 Named 쿼리 벌크 연산 1. 객체지향 쿼리 언어 소개 1) JPA 가 지원하는 쿼리 방법 JPQL JPA Criteria QueryDSL 네이티브 SQL JDBC API 직접 사용, MyBatis, SpringJdbTemplate 함께 사용 2) JPQL //검색 String jpql = "select m From Member m where m.name like ‘%hello%'"; List result = em.createQuery(jpql, Member.class) .getResultList(); 테이블이 아닌 객체를 대상으로 하는 객체 지향 쿼리 SQL과 문..
1. 프로젝트 생성 메이븐 설정 • groupId: jpa-basic • artifactId: ex1-hello-jpa • version: 1.0.0 라이브러리 추가 - pom.xml 자바 11 4.0.0 org.example jpa-basic 1.0-SNAPSHOT 11 11 UTF-8 javax.xml.bind jaxb-api 2.3.0 org.hibernate hibernate-entitymanager 5.3.10.Final com.h2database h2 1.4.200 JPA 설정하기 - persistence.xml JPA 설정 파일 • /META-INF/persistence.xml 위치 JPA 구동 방식 persistence.xml파일을 조회하여 Persistence 생성 Persistence가..
코드 미식가
'JPQL' 태그의 글 목록