본문 바로가기

서브쿼리3

JPA - 객체지향 쿼리 언어 - QueryDSL Join, 서브쿼리 - 참조: 자바 ORM 표준 JPA 프로그래밍 - Join QueryDSL 에서 Join 은 innerJoin, leftJoin, rightJoin, fullJoin 을 지원한다. 또한 JPQL 의 on 과 fetch 기능도 사용가능하다. join 을 사용할때에는 1번째 파라미터에 조인 대상을, 2번째 파라미터에 alias 를 지정한다. 귀찮지만 Join 예제를 실행해보기 위해 Member 엔티티와 Order 엔티티가 맵핑된 데이터를 만들어주자. Member member1 = new Member(); member1.setName("Name#1"); member1.setAge(10); member1.setAddress( new Address("City#1", "Street#1", "Zipcode#1"));.. 2021. 8. 18.
JPA - 객체지향 쿼리 언어 - Criteria 서브 쿼리 - 참조: 자바 ORM 표준 JPA 프로그래밍 - 서브 쿼리 Criteria 로도 서브쿼리를 작성할 수 있다. 메인의 테이블과 연관된 서브쿼리와 메인의 테이블이 연관되지 않은 간단한 서브쿼리를 알아보도록 한다. - 간단한 서브쿼리 메인 테이블과 아무런 연관이 없는 간단한 서브쿼리부터 알아보도록 하자. 평균나이보다 나이가 많은 Member 엔티티만 조회해보자. JPQL 로 표현하면 "select m from Member m where m.age >= (select AVG(m2.age) from Member m2)" 과 같이 될 것이다. 데이터는 앞의 글에서 사용했던 아래 데이터를 이용한다. Member member1 = new Member(); member1.setName("Name#1"); member1.. 2021. 8. 11.
JPA - 객체지향 쿼리 언어 - JPQL 서브쿼리, 조건식 - 참조: 자바 ORM 표준 JPA 프로그래밍 - JPQL: https://docs.oracle.com/html/E13946_04/ejb3_langref.html - 서브 쿼리 JPQL 도 SQL 처럼 서브 쿼리를 지원한다. 다만 SQL 처럼 SELECT, FROM, WHERE, HAVING 절에 쓸 수 있는것은 아니고 WHERE 와 HAVING 절에서만 쓸 수 있다. 하이버네이트 HQL 은 SELECT 절의 서브쿼리를 허용하며 일부 JPA 구현체는 FROM 절의 서브쿼리도 지원하므로 자신이 사용할 구현체의 스펙을 잘 알아보고 사용하도록 하자. SQL 의 기본적인 문법은 다루지 않는다. JPQL 의 특성을 이용한 문법을 사용해보자. Member member = new Member(); member.set.. 2021. 8. 3.