전체 글 (47) 썸네일형 리스트형 JPA Basics - JPQL Advanced 1. 경로 표현식 ◍ 경로표현식: .(점)을 찍어 객체 그래프를 탐색하는 것 select m.username -> 상태 필드 from Member m join m.team t. -> 단일 값 연관 필드 join m.orders o -> 컬렉션 값 연관 필드 where t.name = '팀A' ◍ 용어 정리 ○ 상태필드(state field): 단순히 값을 저장하기 위한 필드(ex> m.username) ○ 연관필드(association field): 연관 관계를 위한 필드 ◼ 단일값 연관 필드: @ManyToOne, @OneToOne, 대상이 엔티티(ex> m.team) ◼ 컬렉션 값 연관 필드: @OneToMany, @ManyToMany, 대상이 컬렉션(ex> m.orders) ◍ 특징 ○ 상대 필드 .. JPA Basic - JPQL Basic 0. 기본 ◍ JPQL: 엔티티 객체를 대상으로 쿼리 ◍ JPA는 SQL을 추상화한 JPQL 이라는 객체 지향 쿼리 언어 제공. ◍ 검색 조건이 있는 쿼리가 필요할 때 사용. ◍ 동적쿼리: Criteria 보다 쿼리DSL ◍ QueryDSL ○ 문자가 아닌 자바코드로 JPQL 작성 가능 ○ JPQL빌더 역할 ○ 컴파일 시점에 문법 오류를 찾을 수 있음 ○ 동적 쿼리 작성 편리함 ○ 단순하고 쉬움 ○ 실무사용 권장! ◍ 네이티브 SQL ○ JPA가 제공하는 SQL을 직접 사용하는 기능 ○ JPQL로 해결할 수 없는 특정 데이터베이스에 의존적인 기능 EX> 오라클 CONNECT BY, 특정 DB만 사용하는 SQL 힌트 ◍ JDBC 직접 사용, SpringJdbcTemplate 등 ○ JPA를 사용하면서 JD.. JPA Basic - 값 타입 1. 기본 값 타입 ◍ JPA의 데이터 타입 분류 ○ 엔티티 타입 ◼ @Entity로 정의하는 객체 ◼ 데이터가 변해도 식별자로 지속해서 추적 가능 ○ 값 타입 ◼ int, Integer, String 처럼 단순히 값으로 사용하는 자바 기본 타입이나 객체 ◼ 식별자가 없고 값만 있으므로 변경시 추적 불가 ◍ 값타입 분류 ○ 기본 값 타입: 자바 기본 타입(int, double)/ 래퍼 클래스(Integer, Long)/ String ○ 임베디드 타입: 복합 값타입 ○ 컬렉션 값타입 ◍ 기본값 타입 ○ 생명 주기를 엔터티에 의존 ○ 값 타입은 공유하면 안됨. ○ 자바의 기본 차입은 절대 공유 불가. ◼ int,double같은 기본 타입은 절대 공유 못함 ◼ 기본 타입은 항상 값을 복사함. ◼ Integer.. 이전 1 ··· 10 11 12 13 14 15 16 다음