JPA 3

[JPA] JPA의 다양한 연관관계 매핑 (다대일, 일대다, 일대일, 다대다)

엔티티의 연관관계를 매핑할 때, 다중성, 단방향/양방향, 그리고 연관관계의 주인을 고려해야 합니다.이를 바탕으로 모든 연관관계 유형을 정리하겠습니다. 01 다대일 (Many-to-One)1. 다대일 단방향 [N:1]다수의 엔티티가 하나의 엔티티와 연관되는 관계입니다.단방향으로 설정하면 하나의 엔티티에서만 참조할 수 있습니다.여러 회원이 하나의 팀에 소속된 상황을 예로 들 수 있습니다.@Entitypublic class Member { @ManyToOne @JoinColumn(name = "team_id") // 외래 키 컬럼 private Team team;}@Entitypublic class Team { @Id private Long id; private String n..

BackEnd/JPA 2025.02.02

[JPA] SpringBoot + JPA 시작하기

JPA는 자바 어플리케이션에서 관계형 데이터베이스를 사용하는 방식을 정의한 인터페이스입니다.즉, 구현을 하기 위해서는 라이브러리를 선택해야 하는 것입니다.일반적으로 JPA에서는 Hibernate를 구현체로 선택하는 경우가 많습니다.그러나 반드시 Hibernate를 사용할 필요는 없습니다!!01 의존성 주입하기스프링 프로젝트에 JPA를 적용하기 위해서는 의존성 주입이 필요합니다.MVN Repository에서 Spring boot starter data jpa와 Mysql connector를 가져옵니다.1. Spring Data JPA스프링부트 버전에 맞추어 자동으로 JPA 관련 라이브러리들의 버전을 관리해주는 라이브러리입니다. org.springframework.boot sprin..

BackEnd/JPA 2024.12.13

[JPA] JPA를 배워야 하는 이유는? SQL Mapper vs ORM

스프링으로 개발을 시작할 때 처음에는 새로고침하거나 프로그램을 다시 실행하면데이터가 사라지는 사이트를 만들어본 경험이 있을 것입니다.이 문제를 해결하기 위해 프로그램과 데이터베이스를 연결해야 합니다. 저는 처음 DB를 학습할 때 SQL 쿼리 작성 방법을 배우고MyBatis를 통해 MySQL과 연결하는 방법으로 프로그램을 만들었습니다.이때 사용한 MyBatis와 같은 기술을 Persistence Framework라고 합니다.오늘은 Persistence Framework의 종류를 정리하고 비교해보려고 합니다. 1. Persistence Framework란?어떤 종류가 있는지 알아보기에 앞서 Persistence Framework가 무엇인지 정리해봅시다.Persistence = 영속성프로그램이 종료되더라도 사..

BackEnd/JPA 2024.12.10