본문 바로가기
Spring/JPA

객체와 테이블 매핑

by YoonJong 2022. 9. 20.
728x90

객체와 테이블을 매핑하기 위해서는 @Entity를 클래스 위에 작성한다.

JPA 를 사용해서 테이블과 매핑할 클래스는 필수로 작성해주어야 한다.

 

@Entity가 붙은 클래스는 JPA가 관리, 엔티티라고 부른다.

@Entity
public class Member {

    @Id
    private Long id;
    private String name;

 

주의할 점

 1. 기본생성자는 필수

 2 . final 클래스를 사용해서는 안된다 -> JPA 구현체들은 엔티티를 내부에서 다양한 방식으로 사용

 

@Entity 의 속성정리

name()

 - JPA에서 사용할 엔티티 이름을 지정

 - 기본값은 클래스의 이름을 그대로 사용

 - 같은 클래스 이름이 없으면 가급적 기본값을 사용

 

@Entity(name = "MBR")
public class Member {
...
}

MBR 테이블과 매핑

 

@Table : 엔티티와 매핑할 테이블을 지정

속성 기능 기본값
name 매핑할 테이블 이름 엔티티 이름을 사용
catalog 데이터베이스 catalog 매핑  
schema 데이터베이스 schema 매핑  
uniqueConstraints(DDL) DDL 생성 시에 유니크 제약 조건 생성  

 

 

참고

https://www.inflearn.com/course/ORM-JPA-Basic/dashboard

 

자바 ORM 표준 JPA 프로그래밍 - 기본편 - 인프런 | 강의

JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., - 강의 소개 | 인프런

www.inflearn.com

https://www.inflearn.com/questions/164425

 

왜 final 을 사용하면 안될까요!? - 인프런 | 질문 & 답변

@Entity에는 final 클래스를 필드에도 사용하지 말라고 하셨는데 이유가 뭔지 궁금합니다. - 질문 & 답변 | 인프런...

www.inflearn.com

https://ttl-blog.tistory.com/112

 

[JPA] 엔티티 매핑 - @Entity, @Table

@Entity JPA에서 엔티티란 쉽게 생각하면, DB 테이블에 대응하는 하나의 클래스라고 생각할 수 있습니다. @Entity가 붙은 클래스는 JPA가 관리해주며, JPA를 사용해서 DB 테이블과 매핑할 클래스는 @Entity

ttl-blog.tistory.com

 

728x90

'Spring > JPA' 카테고리의 다른 글

필드와 컬럼 매핑  (0) 2022.09.20
데이터베이스 스키마 자동 생성  (0) 2022.09.20
영속성 컨텍스트 - 플러시  (0) 2022.09.20
영속성 컨텍스트 - 변경 감지  (0) 2022.09.20
영속성 컨텍스트 - 쓰기 지연  (0) 2022.09.20

댓글