java/jpa

    [JPA] 객체지향 쿼리 언어2 - 중급 문법

    [JPA] 객체지향 쿼리 언어2 - 중급 문법

    자바 ORM 표준 JPA 프로그래밍 - 기본편 스프링 핵심 원리 - 기본편 - 인프런 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다. 초급 프레임워크 및 라이브러리 웹 개발 서버 개발 Back-End Spring 객체지향 온 www.inflearn.com 강의를 들으며 생각 정리 + "자바 ORM 표준 JPA 프로그래밍" 책 참고 경로 표현식 경로 표현식이란 .(점)을 찍어 객체 그래프를 탐색하는 것이다. 다음 JPQL을 보자. select m.username -> 상태 필드 from Member m join m.team t -> 단일 값 연관 필드 join m.orders o -> 컬렉션 값 연관 필드 where t.name = '팀A' 용..

    [JPA] 객체지향 쿼리 언어1 - 기본 문법

    자바 ORM 표준 JPA 프로그래밍 - 기본편 스프링 핵심 원리 - 기본편 - 인프런 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다. 초급 프레임워크 및 라이브러리 웹 개발 서버 개발 Back-End Spring 객체지향 온 www.inflearn.com 강의를 들으며 생각 정리 + "자바 ORM 표준 JPA 프로그래밍" 책 참고 소개 EntityManager.find() 메소드를 사용하면 식별자로 엔티티 하나를 조회할 수 있다. 이렇게 조회한 엔티티에 객체 그래프 탐색(a.getB() 등)을 사용하면 연관된 엔티티들을 찾을 수 있다. 그러나 만약 나이가 30살 이상인 회원을 모두 검색하고 싶다면 find 메소드만으로 해결되지 않는다. 결국 ..

    [JPA] 값 타입

    자바 ORM 표준 JPA 프로그래밍 - 기본편 스프링 핵심 원리 - 기본편 - 인프런 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다. 초급 프레임워크 및 라이브러리 웹 개발 서버 개발 Back-End Spring 객체지향 온 www.inflearn.com 강의를 들으며 생각 정리 + "자바 ORM 표준 JPA 프로그래밍" 책 참고 JPA 타입을 가장 크게 분류하면 엔티티 타입과 값 타입으로 나눌 수 있다. 엔티티 타입은 @Entity로 정의하는 객체이다. 데이터가 변해도 식별자로 지속해서 추적이 가능하다. 값 타입은 int, Integer, String처럼 단순히 값으로 사용하는 자바 기본 타입이나 객체를 말한다. 식별자가 없고 값만 있기 때..

    [JPA] 프록시와 연관관계 관리

    [JPA] 프록시와 연관관계 관리

    자바 ORM 표준 JPA 프로그래밍 - 기본편 스프링 핵심 원리 - 기본편 - 인프런 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다. 초급 프레임워크 및 라이브러리 웹 개발 서버 개발 Back-End Spring 객체지향 온 www.inflearn.com 강의를 들으며 생각 정리 + "자바 ORM 표준 JPA 프로그래밍" 책 참고 프록시 엔티티를 조회할 때 영속성 컨텍스트에 찾고자 하는 엔티티가 없다면 DB에서 직접 조회하는데 이 때, 연관된 객체들을 실제 사용하든 사용하지 않든 조인해서 가져온다. 그러나 막상 연관된 객체를 사용할 일이 없다면 조인하지 않고 가져오고 연관된 객체가 실제 사용될 때 조회하는 것이 더 유리하다. JPA는 이런 문..

    [JPA] 고급 매핑

    자바 ORM 표준 JPA 프로그래밍 - 기본편 스프링 핵심 원리 - 기본편 - 인프런 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다. 초급 프레임워크 및 라이브러리 웹 개발 서버 개발 Back-End Spring 객체지향 온 www.inflearn.com 강의를 들으며 생각 정리 + "자바 ORM 표준 JPA 프로그래밍" 책 참고 상속 관계 매핑 관계형 데이터베이스에는 객체지향 언어에서 다루는 상속이라는 개념이 없다. 비슷한 개념으로 슈퍼타입, 서브타입 관계라는 모델링 기법이 있다. 상속 관계 매핑이라는 것은 객체의 상속 구조와 데이터베이스의 슈퍼타입, 서브타입 관계를 매핑하는 것을 말한다. 객체의 상속 구조에서 부모 클래스는 @Inherit..

    [JPA] 다양한 연관관계 매핑

    [JPA] 다양한 연관관계 매핑

    자바 ORM 표준 JPA 프로그래밍 - 기본편 스프링 핵심 원리 - 기본편 - 인프런 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다. 초급 프레임워크 및 라이브러리 웹 개발 서버 개발 Back-End Spring 객체지향 온 www.inflearn.com 강의를 들으며 생각 정리 + "자바 ORM 표준 JPA 프로그래밍" 책 참고 앞서 배운 것을 정리해보자. 엔티티의 연관관계를 매핑할 때는 다음 3가지를 고려해야 한다. 다중성 단방향, 양방향 연관관계의 주인 다중성 다대일: @ManyToOne 일대다: @OneToMany 일대일: @OneToOne 다대다: @ManyToMany 보통 다대일 관계를 가장 많이 사용한다. 단방향, 양방향 테이블은..

    [JPA] 연관관계 매핑 기초

    [JPA] 연관관계 매핑 기초

    자바 ORM 표준 JPA 프로그래밍 - 기본편 스프링 핵심 원리 - 기본편 - 인프런 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다. 초급 프레임워크 및 라이브러리 웹 개발 서버 개발 Back-End Spring 객체지향 온 www.inflearn.com 강의를 들으며 생각 정리 + "자바 ORM 표준 JPA 프로그래밍" 책 참고 엔티티들은 대부분 다른 엔티티와 연관관계가 있다. 그런데 객체는 참조(주소)를 사용해서 관계를 맺고 테이블은 외래 키를 사용해서 관계를 맺는다. 객체 관계 매핑에서 가장 어려운 부분이 바로 객체 연관관계와 테이블 연관관계를 매핑하는 일이다. 즉, 객체의 참조와 테이블의 외래 키를 매핑하는 것이 이 장의 목표이다. 단..

    [JPA] 엔티티 매핑

    자바 ORM 표준 JPA 프로그래밍 - 기본편 스프링 핵심 원리 - 기본편 - 인프런 스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다. 초급 프레임워크 및 라이브러리 웹 개발 서버 개발 Back-End Spring 객체지향 온 www.inflearn.com 강의를 들으며 생각 정리 + "자바 ORM 표준 JPA 프로그래밍" 책 참고 JPA에서 가장 중요한 두 가지는 다음과 같다. 객체와 관계형 데이터베이스 매핑하기 영속성 컨텍스트 이 장에서는 엔티티와 테이블을 매핑하는 방법에 대해 알아본다. 객체와 테이블 매핑 @Entity @Entity가 붙은 클래스는 JPA가 관리하고 이를 엔티티라 한다. 즉, JPA를 사용해 테이블과 매핑할 객체는 @En..