강의

멘토링

커뮤니티

NEW
개발 · 프로그래밍

/

웹 개발

JPA를 활용한 데이터 모델링

JPA 기술 설명보다 엔티티 설계를 통한 데이터 모델링에 집중하는 강의입니다. 탄탄한 DB 설계가 애플리케이션 개발의 기초임을 바탕으로, 일대다·다대다·상속·컬렉션 등 다양한 설계 패턴을 비즈니스 시나리오와 함께 분석하고, 코드가 실제 테이블로 변환되는 과정을 화면으로 직접 확인하며 배웁니다. 실전에서 바로 활용할 수 있도록 설계 패턴별 비즈니스 사례와 소스 코드, 테스트 코드를 함께 제공합니다.

16명 이 수강하고 있어요.

난이도 중급이상

수강기한 무제한

  • 온코딩

수강 후 이런걸 얻을 수 있어요

  • 비즈니스 요구사항을 보고 JPA 엔티티 구조로 변환하는 데이터 모델링 능력

  • 일대일, 일대다, 다대다, 삼항 관계를 상황에 맞게 선택하고 구현하는 연관 관계 설계 능력

  • 상속 구조가 있는 도메인을 4가지 상속 매핑 전략 중 적합한 방식으로 설계하는 능력

  • Set, List, Map, Bag 등 컬렉션 타입별 특성을 이해하고 올바르게 매핑하는 능력

  • 실제 프로젝트에서 엔티티 설계 단계부터 올바른 구조를 잡는 능력

  • 중간 엔티티, 임베드 가능한 클래스 등 다양한 패턴을 활용해 복잡한 도메인을 표현하는 능력

  • 설계한 엔티티가 실제 DB 테이블로 어떻게 생성되는지 예측하고 검증하는 능력

📢 강의 소개

이 강의는 JPA를 이미 알고 있는 개발자가 "어떻게 하면 엔티티를 제대로 설계할 수 있을까" 라는 질문에 답을 찾을 수 있도록 구성된 강의입니다.

데이터 모델링은 애플리케이션의 주춧돌입니다. 초반에 엔티티 설계를 탄탄하게 잡아두면 이후 리포지토리, 쿼리, 비즈니스 로직이 훨씬 자연스럽게 흘러갑니다. 이 강의는 JPA 기술 설명보다 엔티티 설계 자체에 집중하며, 단순히 코드를 보여주는 방식이 아니라 비즈니스 시나리오 관점에서 "왜 이 연관관계를 선택했는지", "왜 이 매핑 전략이 적합한지"를 함께 분석합니다.

일대다·일대일·다대다 같은 기본 연관관계부터 상속 매핑, 컬렉션 매핑, 삼항 연관관계까지 실무에서 쓰이는 다양한 패턴을 다루며, 엔티티 코드와 자동 생성된 MySQL 테이블을 화면에 나란히 보여줘 설계의 흐름을 눈으로 직접 확인할 수 있습니다. 강의에 사용한 문서, 소스 코드, JUnit 테스트 코드도 함께 제공됩니다.

JPA 기본은 알지만 설계에 자신이 없는 분, 실무에서 바로 써먹을 수 있는 데이터 모델링 감각을 키우고 싶은 분께 추천드립니다.

✨ 강의 매력 포인트

  • 문법 설명이 아닌 실제 설계 감각을 키우는 데 집중합니다

  • 각 설계 패턴마다 비즈니스 시나리오를 함께 분석해 "왜 이 구조인지"를 이해할 수 있습니다

  • 엔티티 코드와 자동 생성된 MySQL 테이블을 나란히 비교하며 설계 결과를 눈으로 직접 확인합니다

  • 기본 연관관계부터 상속·컬렉션·삼항 관계까지 실무에서 쓰이는 다양한 패턴을 한 강의에서 다룹니다

  • 배운 패턴을 바로 응용할 수 있도록 유사한 비즈니스 사례를 추가로 제시합니다

  • 강의 문서, 소스 코드, JUnit 테스트 코드까지 모두 제공해 실습 중심 학습이 가능합니다

  • 이론에 그치지 않고 프로젝트 현장에서 바로 적용 가능한 설계 패턴을 다룹니다

📘 강의에서 배우는 내용

1. JPA 엔티티 기본 매핑

엔티티와 값 타입의 개념과 차이를 이해하고, 식별자 생성 전략, 테이블명 재정의, MySQL 타입 매핑과 DDL 자동 생성 방법을 학습합니다. @Column, @Embedded 등 핵심 어노테이션을 활용해 임베드 가능한 클래스를 설계하고, 중첩 컴포넌트 매핑까지 엔티티 설계의 기본기를 탄탄하게 다집니다.

2. 상속 매핑 전략

상속 구조를 가진 도메인을 JPA로 표현하는 4가지 전략(단일 테이블, 조인, 구체 클래스별 테이블, 전략 혼합)을 비교하고 상황에 맞게 선택하는 방법을 익힙니다. 임베드 가능한 클래스의 상속, 다형적 다대일 연관관계, 다형적 컬렉션 설계까지 다루며 복잡한 상속 구조를 가진 도메인을 올바르게 모델링하는 능력을 키웁니다.

3. 컬렉션 매핑

Set, Bag, List, Map 등 컬렉션 타입별 특성을 이해하고 JPA에서 올바르게 매핑하는 방법을 학습합니다. 정렬 컬렉션(Map, Set)과 순차 컬렉션(LinkedHashSet, ArrayList, LinkedHashMap)의 차이와 활용법을 익히고, 컴포넌트 세트·백·맵 등 값 타입 컬렉션을 설계하는 방법까지 폭넓게 다룹니다.

4. 일대다 연관관계

단방향·양방향 일대다 관계의 구현 방식을 비교하고, 조인 테이블을 활용한 선택적 일대다 관계, 임베드 가능한 클래스의 일대다 연관관계, @JoinTable을 활용한 연결 테이블 설계까지 일대다 연관관계를 다양한 방식으로 구현하는 방법을 학습합니다.

5. 일대일 연관관계

기본키 공유, 외래 기본키 생성기, 외래키 조인 컬럼, 조인 테이블 활용 등 일대일 관계를 표현하는 4가지 방식을 학습합니다. 각 방식의 특성과 장단점을 비교하며 비즈니스 요구사항에 맞는 설계를 선택할 수 있는 능력을 키웁니다.

6. 다대다 및 삼항 연관관계

단방향·양방향 다대다 연관관계 구현 방법과 중간 엔티티를 활용해 다대다 관계를 더 유연하게 설계하는 방법을 학습합니다. 나아가 컴포넌트와 Map 자료구조를 활용한 삼항 연관관계, 키/값 구조를 활용한 고급 연관관계 설계 패턴까지 다루며 복잡한 도메인 관계를 표현하는 능력을 익힙니다.

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • JPA 기본 문법은 알지만 실제 프로젝트에서 엔티티 설계를 어떻게 시작해야 할지 막막한 백엔드 개발자

  • 엔티티를 대충 만들었다가 개발 중후반에 테이블 구조를 뒤엎는 경험을 반복하고 있는 개발자

  • 일대다, 다대다 같은 기본 연관 관계는 알지만 복잡한 비즈니스 도메인 앞에서는 손이 멈추는 개발자

  • JPA를 독학으로 공부했지만 상속 매핑, 컬렉션 매핑 등 심화 설계 패턴은 제대로 정리된 적 없는 개발자

  • MyBatis에서 JPA로 전환하려는데 데이터 모델링 관점에서 어떻게 접근해야 할지 갈피를 못 잡는 개발자

선수 지식,
필요할까요?

  • Java 기본 문법 (클래스, 상속, 인터페이스, 애노테이션 등)

  • JPA 기본 개념 및 사용법 (영속성 컨텍스트, 기본 애노테이션 등)

  • Spring Boot 기본 프로젝트 구성 및 실행 방법

  • MySQL 기본 사용법 (테이블 구조 읽기, 기본 SQL 이해)

  • JUnit 기본 테스트 코드 작성 경험

  • 기본적인 데이터베이스 설계 개념 (PK, FK, 정규화 등)

  • Spring Data JPA 기본 사용 경험 (Repository 인터페이스 등)

안녕하세요
입니다.

429

수강생

7

수강평

19

답변

4.7

강의 평점

3

강의

커리큘럼

전체

57개 ∙ (10시간 21분)

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!

얼리버드 할인 중

₩22,000

50%

₩44,000

온코딩님의 다른 강의

지식공유자님의 다른 강의를 만나보세요!

비슷한 강의

같은 분야의 다른 강의를 만나보세요!