목록JPA (3)
yeon's blog

🖇 연관관계 연관관계: 두 도메인(객체, 테이블)이 서로 논리적인 의미를 갖고 양쪽을 참조하는 관계 💡 연관관계 매핑시 생각해야 하는 것 방향(Direction): 단방향 연관관계, 양방향 연관관계 연관관계의 주인: 양방향 연관관계 매핑시, 반대편 테이블의 외래키를 관리하는 객체 다중성(Multiplicity): 일대일(1:1), 일대다(1:N), 다대일(N:1), 다대다(N:N) ✔️ 방향 (Direction) 관계형 데이터베이스의 테이블에는 방향이란 개념이 없지만 (외래키 하나로 양쪽 테이블을 필요에 따라 조인할 수 있었음), 객체지향 프로그래밍에서는 참조용 필드가 있는 쪽으로만 참조가 가능하다. 예를 들어, 다음과 같은 코드일 때 class MEMBER { private long id; privat..

Entity를 설계할 때 항상 사용하는 가장 기본적인 어노테이션들이다!! 공부하는 김에 정리까지~~~ 🖇 객체와 테이블 매핑 @Entity - Table과의 매핑 - @Entity가 붙은 클래스는 JPA가 관리함 💡 속성 name: JPA에서 사용할 `엔티티 이름` 지정 ‼️ 주의사항 1. 기본 생성자(파라미터가 없는 Public 또는 Protected 생성자) 필수! → JPA가 엔티티 객체를 생성할 때 기본 생성자를 사용하기 때문 2. 엔티티 객체 생성 시 기본 생성자 이용 → final, enum, interface, inner class 사용 불가 3. @Id와 함께 사용해야 함 → @Id 어노테이션이 없으면 AnnotaionException 예외 발생 @Table - Entity와 매핑할 Tab..
JPA의 구현체 중 하나인 하이버네이트는 다양한 기능을 제공하는데 그 중 엔티티만 등록해 놓으면 DDL(Data Definition Language)을 자동으로 작성하여 테이블을 생성하거나 수정해주는 ddl-auto라는 설정이 있다. 이번 포스트에서는 JPA 하이버네이트에서 제공하는 ddl-auto의 종류와 기능, 그리고 주의 사항에 대해서 정리하려고 한다! 초기 application.yml 설정에서 JPA DDL-AUTO 값을 create로 설정해 두면, 서버가 재시작 될 때마다 기존에 생성된 테이블을 삭제하고 다시 생성한다. 만약 데이터값이 들어가 있다면 모든 데이터 값이 사라지는 문제가 발생하는 것이다.🚫🚫🚫 이러한 문제 발생을 방지하기 위해 ddl-auto 옵션에 대해 알아보고자 한다. ✔️ DD..