post-thumbnail

Named Query

1\. 기본개념정적 쿼리미리 정의해서 이름을 부여해두고 사용하는 JPQL사용방법: 어노테이션, XML에 정의애플리케이션 로딩 시점에 초기화 후 재사용장점: 애플리케이션 로딩 시점에 쿼리 검증(문법 오류 발견 등)2\. 어노테이션에 정의하여 사용엔티티에 정의사용 소스3\

2022년 11월 2일
·
0개의 댓글
·

엔티티 직접 사용

1\. 엔티티 직접 사용 - 기본키 값JPQL에서 엔티티를 직접 사용할 경우 SQL에서 해당 엔티티의 PK를 사용함실행쿼리(where절에서 PK를 사용)2\. 엔티티 직접 사용 - 기본키 값실행쿼리(where절에서 PK를 사용)

2022년 10월 31일
·
0개의 댓글
·
post-thumbnail

다형성 쿼리

엔티티 구조도 예시(다형적으로 구성)TYPE조회 대상을 특정 자식 개체로 한정예) Item 중 Book, Movie를 조회TREAT자바의 type casting과 유사하게 동작상속 구조에서 부모타입을 특정 자식타입으로 다룰 때 사용FROM, WHERE, SELECT(h

2022년 10월 31일
·
0개의 댓글
·

페치 조인의 한계

1\. 페치 조인의 한계📌 페치 조인 대상에는 별칭 사용 X📌 둘 이상의 컬렉션은 페치 조인 X📌 컬렉션을 페치 조인할 경우 페이징 API 사용 X => hibernate는 경고 로그 & 메모리에서 페이징일대다의 경우 '다'에 맞춰서 데이터 뻥튀기가 발생하기 때

2022년 10월 31일
·
0개의 댓글
·
post-thumbnail

페치 조인

1\. 기본개념SQL의 조인 종류가 XJPQL에서 성능 최적화를 위해 제공하는 전용 기능연관된 엔티티/컬렉션을 SQL 한 방에 함께 조회하도록 함명령어 'join fetch' 직접 사용LEFT/INNER JOIN FETCH + 조인경로지연로딩이 걸려있더라도 페치조인이

2022년 10월 30일
·
0개의 댓글
·

경로표현식

1\. 기본개념.을 찍어 객체 그래프를 탐색하는 것용어 정리상태필드: 단순히 값을 저장하기 위한 필드연관필드: 연관관계를 위한 필드단일값: @ManyToOne, @OneToOne, 대상이 엔티티컬렉션: @OneToMany, @ManyToMany, 대상이 컬렉션2\. 특

2022년 10월 30일
·
0개의 댓글
·

타입 표현, 조건식

타입 표현 케이스문자: ‘HELLO’, ‘She’’s’숫자: 10L(Long), 10D(Double), 10F(Float)Boolean: TRUE, FALSEENUM: jpabook.MemberType.Admin (패키지명 포함)엔티티 타입: TYPE(m) = Memb

2022년 10월 27일
·
0개의 댓글
·

조인

내부조인외부조인세타조인ON절 활용한 조인: 조인 대상을 미리 필터링(JPA 2.1부터 지원)연관관계 없는 엔티티 외부조인(하이버네이트 5.1부터 지원)실행 쿼리(on절): PK키를 비교함실행 쿼리(연관관계 없는 경우): PK키 비교X

2022년 10월 24일
·
0개의 댓글
·

프로젝션(SELECT)

1\. 기본개념SELECT절에 조회할 대상을 지정하는 것프로젝션 대상엔티티임베디드 타입스칼라 타입(숫자, 문자 등 기본 데이터 타입) -> SQL은 스칼라 타입만 가능했음DISTINCT로 중복 제거 가능2\. 프로젝션 예시3\. 여러 값 조회 프로젝션 예시new 명령어

2022년 10월 23일
·
0개의 댓글
·
post-thumbnail

기본문법

📌 JPQL 소개객체지향 쿼리이므로 테이블이 아닌, 엔티티 객체를 대상으로 쿼리SQL을 추상화해서 특정 데이터베이스 SQL에 의존하지 않음결국은 SQL로 변환됨1\. 기본문법엔티티, 속성: 대소문자 구분 OJPQL 키워드: 대소문자 구분 X (select, from,

2022년 10월 22일
·
0개의 댓글
·

객체지향 쿼리 언어 소개

JPA는 다양한 쿼리 방법을 지원📌JPQLJPA Criteria📌QueryDSLnative SQLJDBC API를 직접 사용, MyBatis, SpringJdbcTemplate 함께 사용실무에서는 95% JPQL + QueryDSL 사용1\. JPQL 소개📌가장

2022년 10월 22일
·
0개의 댓글
·