본문 바로가기

JPA76

JPQL 기본문법과 기능 김영한님의 인프런 강의와 PDF를 바탕으로 정리하였습니다. https://www.inflearn.com/courses?s=%EA%B9%80%EC%98%81%ED%95%9C JPQL 소개 1. JPQL은 객체지향 쿼리 언어다. 따라서 테이블을 대상으로 쿼리 하는 것이 아니라 엔티티 객체를 대상으로 쿼리한다. 2. JPQL은 SQL을 추상화해서 특정 데이터베이스 SQL에 의존하지 않는다. 3. JPQL은 결국 SQL로 변환된다. 아래 같은 간단한 모델을 설계하겠습니다. Member Team Orders Product JPQL 문법 select_문 :: = select_절 from_절 [where_절] [groupby_절] [having_절] [orderby_절] update_문 :: = update_절 [w.. 2021. 7. 19.
JPQL 객체지향 쿼리 언어 소개 김영한님의 인프런 강의와 PDF를 바탕으로 정리하였습니다. https://www.inflearn.com/courses?s=%EA%B9%80%EC%98%81%ED%95%9C JPA는 다양한 쿼리 방법을 지원합니다. • JPQL • JPA Criteria • QueryDSL • 네이티브 SQL • JDBC API 직접 사용, MyBatis, SpringJdbcTemplate 함께 사용 JPQL • 가장 단순한 조회 방법 • EntityManager.find() • 객체 그래프 탐색(a.getB().getC()) • 나이가 18살 이상인 회원을 모두 검색하고 싶다면? • JPA를 사용하면 엔티티 객체를 중심으로 개발 • 문제는 검색 쿼리 • 검색을 할 때도 테이블이 아닌 엔티티 객체를 대상으로 검색 • 모든 .. 2021. 7. 19.
22. 값타입 - 기본값 타입, 임베디드 타입, 불변객체, 값타입 컬렉션 김영한님의 인프런 강의와 PDF를 바탕으로 정리하였습니다. https://www.inflearn.com/courses?s=%EA%B9%80%EC%98%81%ED%95%9C JPA는 엔티티 타입과 기본값 타입으로 데이터 타입을 분류할 수 있습니다. 엔티티 타입 @Entity로 정의하는 객체 데이터가 변해도 식별자로 지속해서 추적 가능 예) 회원 엔티티의 키, 나이 값을 변경해도 식별자로 인식가능 값 타입 int, Integer, String처럼 단순히 값으로 사용하는 자바 기본 타입이나 객체 식별자가 없고 값만 있으므로 변경시 추적 불가 예) 숫자 100을 200으로 변경하면 완전히 다른 값으로 대체 또한 값타입은 다시 아래와 같이 나눌 수 있습니다. 값 타입 분류 기본값 타입 : 1. 자바 기본 타입(i.. 2021. 7. 17.
21. 실전예제 적용해보기 김영한님의 인프런 강의와 PDF를 바탕으로 정리하였습니다. https://www.inflearn.com/courses?s=%EA%B9%80%EC%98%81%ED%95%9C 글로벌 페치 전략 설정 모든 연관관계를 지연 로딩으로 @ManyToOne, @OneToOne은 기본이 즉시 로딩이므로 지연 로딩으로 변경 1. 먼저 모든 @ManyToOne과 @OneToOne에 fetch=FetchType.LAZY로 수정한다. 2. Order의 영속성 전이를 수정한다. 2021. 7. 16.