목록JPA (3)
공부 기록

✅ 들어가며 JPA에서는 클래스에 필드로 클래스를 선언함으로써 연관관계를 매핑할 수 있다. 이번 프로젝트에서 아래와 같이 외래키를 연결하고 싶어 우선 N:1 단방향 연관관계를 매핑하는 방법에 대해 공부해보았다. ✅ N:1 연관 관계 매핑 객체지향 프로그램에서의 객체와 RDB에서의 테이블이 서로 연관관계를 맺는 방법이 다르다. 이 둘의 차이를 채우기 위해 매핑과정이 필요하고 이를 JPA가 수행하게 된다. N:1 연관관계는 간단히 @ManyToOne, @JoinColumn 어노테이션을 이용하면 된다. public class Food { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column private long foodId; @Column(null..

✅ 프로젝트 적용 0. Docker와 mariadb설치 [맥북/맥 Mac] 도커(Docker)로 MariaDB 설치하기 안녕하세요, 송아지할때 송아 김송아입니다. Docker Desktop을 설치하셨다면, 👉🏻 1분만에 설치하기 https://songacoding.tistory.com/56 우리는 맥/맥북 Terminal (또는 윈도우 cmd) 을 이용해서 Docker hub에 있는 songacoding.tistory.com 1-1. 의존성 추가 1-2. mariadb와 연결하기 2. Entity 수정 @Entity @Getter //lombok 어노테이션 : 클래스 내 모든 필드의 Getter 메서드 자동 생성 public class Food { @Id @GeneratedValue(strategy = ..
✅ 들어가며 오늘은 JPA를 이용하여 기능을 구현하기 위해 사용방법을 공부한 후 내 프로젝트에 적용해 보았다. ✅ JPA(Java Persistence API) ✔️ JPA란? 자바 응용 프로그램에서 관계형 데이터베이스의 관리를 할 수 있도록 하는 자바 API로 관계형 데이터베이스와 객체의 패러다임 불일치 문제를 해결할 수 있다. JPA는 인터페이스이기 때문에 구현체가 필요한데, 스프링 JPA는 하이버네이트(Hibernate)라는 구현체를 포함해서 제공하고 있다. ✔️ Entity JPA에서의 엔티티란 DB 테이블에 대응하는 하나의 클래스라고 생각하면 된다. 엔티티를 위한 어노테이션 📌 @Entity : JPA가 관리하며 DB의 테이블과 자바 클래스가 매핑된다. 접근제어자가 public 혹은 protec..