본문 바로가기

JPA/JPQL15

JPQL 조건식(CASE 등) 김영한님의 인프런 강의와 PDF를 바탕으로 정리하였습니다. https://www.inflearn.com/courses?s=%EA%B9%80%EC%98%81%ED%95%9C 조건식 - CASE 식 ● 기본 CASE 식 : 코드로 보겠습니다. ● 단순 CASE 식 : ● COALESCE : 하나씩 조회해서 null이 아니면 반환 m.username이 null이면 '이름 없는 회원'으로 반환합니다. 실행결과: ● NULLIF : 두 값이 같으면 null 반환, 다르면 첫번째 값 반환 m.username이 '관리자'이기 때문에 null로 반환됩니다. 결과: 참고자료: 김영한님 인프런 강의, 강의 PDF 2021. 7. 21.
JPQL 타입표현과 기타식 김영한님의 인프런 강의와 PDF를 바탕으로 정리하였습니다. https://www.inflearn.com/courses?s=%EA%B9%80%EC%98%81%ED%95%9C JPQL 타입 표현 1. 문자: ‘HELLO’, ‘She’’s’ (싱글쿼테이션 사용시 '를 하나더 붙인다.) 2. Boolean: TRUE, FALSE 3. 숫자: 10L(Long), 10D(Double), 10F(Float) 4. ENUM: jpabook.MemberType.Admin (패키지명 포함) 아래와 같은 Member의 enumType이 있다면 물론 아래와 같이 파라미터를 사용하는 것이 좋습니다. 5. 엔티티 타입: TYPE(m) = Member (상속 관계에서 사용) JPQL 기타 1. SQL과 문법이 같은 식 2. EXI.. 2021. 7. 21.
JPQL 서브쿼리 김영한님의 인프런 강의와 PDF를 바탕으로 정리하였습니다. https://www.inflearn.com/courses?s=%EA%B9%80%EC%98%81%ED%95%9C 서브 쿼리 예 1) 나이가 평균보다 많은 회원: select m from Member m where m.age > (select avg(m2.age) from Member m2) 예 2) 한 건이라도 주문한 고객 select m from Member m where (select count(o) from Order o where m = o.member) > 0 서브 쿼리 지원 함수 [NOT] EXISTS (subquery): 서브쿼리에 결과가 존재하면 참 • { ALL | ANY | SOME } (subquery) • ALL 모두 만족하.. 2021. 7. 21.
JPQL 페이징, 조인 김영한님의 인프런 강의와 PDF를 바탕으로 정리하였습니다. https://www.inflearn.com/courses?s=%EA%B9%80%EC%98%81%ED%95%9C 페이징과 조인을 알아보기 전에 현재 entity는 다음과 같습니다. Member Team Order Product 값타입 Address 페이징 API JPQL을 사용하여 페이징을 쉽게 할 수 있습니다. • JPA는 페이징을 다음 두 API로 추상화 • setFirstResult(int startPosition) : 조회 시작 위치 (0부터 시작) • setMaxResults(int maxResult) : 조회할 데이터 수 아래처럼 사용합니다. 출력문 결과를 보시면 잘 가져왔음을 알 수 있습니다. 아래와 같은 select문 쿼리가 방언처.. 2021. 7. 20.