JPA (7) 썸네일형 리스트형 [JPA] 지연 로딩 (Lazy Loading) 프록시에 대해 설명한 글에서 간단한게 JPA가 제공하는 지연 로딩이라는 기능에 대해 설명했었다. JPA는 엔티티를 조회하는 과정에서 연관엔티티의 생성을 뒤로 미룰 수 있는 지연 로딩(Lazy Loading)이라는 기능을 제공한다. 이번 포스팅에서는 지연 로딩이 왜 필요하고, 어떻게 사용하는지에 대해 알아보자. 프록시 패턴 (Proxy Pattern) 스프링이나 JPA를 공부하다보니 프록시(Proxy)라는 개념이 자주 등장한다. 프록시란 진짜 객체를 모방한 가짜객체 정도로 알고 있었는데, 근본적으로 왜 프록시를 사용하고, 프록시가 어떤 부분에 ohreallystore.tistory.com 자바 ORM 표준 JPA 프로그래밍 - 교보문고 스프링 데이터 예제 프로젝트로 배우는 전자정부 표준 데이터베이스 프레임.. [JPA] 연관관계 매핑 2 연관관계 매핑 1편에서는 연관관계 매핑이 필요한 이유와 구현하는 방법에 대해 알아보았다. 1편에서 이미 예시를 통해 다대일, 일대다 연관관계는 살펴보았으므로 2편에서는 일대일(1:1), 다대다(N:N) 연관관계에 대해 자세히 알아보자. [JPA] 연관관계 매핑 1 엔티티들 간에는 다양한 연관관계가 있을 수 있다. 예를들어 회원 엔티티는 자신이 주문한 현황을 알기 위해 주문 엔티티와 연관관계가 있고, 주문 엔티티는 주문 상품을 알기위해 다시 상품엔 ohreallystore.tistory.com 일대일(1:1) 연관관계 일대일 관계는 하나의 객체가 다른 하나의 객체만을 참조할 수 있고, 반대 방향으로도 마찬가지인 연관관계이다. 예를 들어 다음과 같은 상황이다. 한명의 학생은 하나의 사물함만을 가질 수 있다... [JPA] 연관관계 매핑 1 엔티티들 간에는 다양한 연관관계가 있을 수 있다. 예를들어 회원 엔티티는 자신이 주문한 현황을 알기 위해 주문 엔티티와 연관관계가 있고, 주문 엔티티는 주문 상품을 알기위해 다시 상품엔티티와 연관관계를 맺는다. 객체에서의 연관관계는 참조(reference)를 통해 쉽게 구현이 가능하다. 하지만 관계형 데이터베이스에서는 외래키(foreign key)라는 개념을 사용해야 한다. 이번 포스팅에서는 JPA가 객체에서의 연관관계(참조)를 어떻게 DB의 연관관계(외래키)로 매핑하는지 알아보자. 참고도서) 자바 ORM 표준, JPA 프로그래밍 자바 ORM 표준 JPA 프로그래밍 - 교보문고 스프링 데이터 예제 프로젝트로 배우는 전자정부 표준 데이터베이스 프레임 | ★ 이 책에서 다루는 내용 ★■ JPA 기초 이론과 .. [JPA] 엔티티(Entity) 매핑 : 기본키(Primary Key) 매핑하기 저번 포스팅에서는 기본적인 엔티티 매핑에 대해 알아보았다. [JPA] 엔티티 매핑 JPA가 하는일 중 가장 중요한 것은 엔티티를 테이블에 매핑하는 것이다. JPA는 다양한 어노테이션을 통해 엔티티-테이블 매핑을 지원한다. 이번 포스팅에서는 엔티티 매핑을 위한 어노테이션과 ohreallystore.tistory.com 이번 포스팅에서는 JPA가 지원하는 엔티티 매핑 기능 중에서도 기본 키(Primary Key) 매핑에 대해 알아보자. 기본 키(Primary Key) 기본 키는 DB에서 엔티티의 식별자 역할을 한다. @Id 어노테이션을 통해 기본 키 칼럼을 ㅌ지정해줄 수 있다. @Entity public class Member { @Id @Column(name = "ID") private Long id; ... [JPA] 엔티티 매핑 JPA가 하는일 중 가장 중요한 것은 엔티티를 테이블에 매핑하는 것이다. JPA는 다양한 어노테이션을 통해 엔티티-테이블 매핑을 지원한다. 이번 포스팅에서는 엔티티 매핑을 위한 어노테이션과 테이블 매핑 방법에 대해 알아보자. 엔티티 매핑 엔티티-테이블 매핑을 지원하는 어노테이션은 크게 4가지로 나뉜다. 객체-테이블 매핑 : @Entity, @Table 기본 키 매핑 : @Id 필드와 칼럼 패밍 : @Column 연관관계 매핑 : @ManyToOne, @JoinColumn ... 연관관계 매핑의 경우 단순한 어노테이션을 넘어 데이터베이스에서 굉장히 중요한 개념으로 따로 다루기로 하고, 이번 포스팅에서는 그외 3가지를 차례대로 알아보도록 하자. 객체-엔티티 매핑 : @Entity JPA의 세계에서 보통 하나.. [JPA] SQL을 직접 다룰 때의 문제점과 ORM 프레임워크 JPA의 등장 애플리케이션을 개발하다 보면 많은 양의 데이터를 저장해야 하는 경우가 많다. 이 경우, 관계형 데이터베이스 저장소를 사용하는 것이 필수적이다. 관계형 데이터베이스는 많은 양의 데이터를 효율적으로 관리하도록 도와주지만 동시에 SQL 작성의 부담도 따른다. 이번 포스팅에서는 SQL을 직접 작성하는 것이 어떠한 문제를 일으키는지 알아보고 궁극적으로 JPA가 어떻게 이러한 문제를 해결해 줄 수 있는지에 대해 알아보자. 자바 ORM 표준 JPA 프로그래밍 - 교보문고 스프링 데이터 예제 프로젝트로 배우는 전자정부 표준 데이터베이스 프레임 | ★ 이 책에서 다루는 내용 ★■ JPA 기초 이론과 핵심 원리■ JPA로 도메인 모델을 설계하는 과정을 예제 중심으로 www.kyobobook.co.kr 유지보수의 어려움 자.. [JPA] 영속성 컨텍스트 (Persistance Context) JPA를 사용함에 있어 가장 중요한 개념은 아마 영속성 컨텍스트(Persistance Context)일 것이다. em.persist(member); JPA는 다음과 같인 엔티티 매니저(Entity Manager)의 메서드인 persist() 메서드를 통해 객체를 영속성 컨텍스트에 저장한다. 영속성 컨텍스트에 저장된 데이터는 이름 그대로 영구히 관리되게 된다. 또한 영속성 컨텍스트는 엔티티 매니저를 통해 접근할 수 있고 관리할 수 있다. 이번 포스팅에서는 영속성 컨텍스트의 개념 및 특징 그리고 사용 전략에 대해 차례대로 알아보기로 하자. 참고도서 자바 ORM 표준 JPA 프로그래밍 - 교보문고 스프링 데이터 예제 프로젝트로 배우는 전자정부 표준 데이터베이스 프레임 | ★ 이 책에서 다루는 내용 ★■ JPA.. 이전 1 다음