본문 바로가기

JPA76

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.
JPQL 프로젝션 김영한님의 인프런 강의와 PDF를 바탕으로 정리하였습니다. https://www.inflearn.com/courses?s=%EA%B9%80%EC%98%81%ED%95%9C 프로젝션 프로젝션 : SELECT 절에 조회할 대상을 지정하는 것 • 프로젝션 대상: 엔티티, 임베디드 타입, 스칼라 타입(숫자, 문자등 기본 데이터 타 입) • SELECT m FROM Member m -> 엔티티 프로젝션 • SELECT m.team FROM Member m -> 엔티티 프로젝션 • SELECT m.address FROM Member m -> 임베디드 타입 프로젝션 • SELECT m.username, m.age FROM Member m -> 스칼라 타입 프로젝션 (DISTINCT로 중복 제거) JPQL의 결과는 영.. 2021. 7. 20.