객체와 테이블을 매핑하기 위해서는 @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 {
...
}
@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
'Spring > JPA' 카테고리의 다른 글
필드와 컬럼 매핑 (0) | 2022.09.20 |
---|---|
데이터베이스 스키마 자동 생성 (0) | 2022.09.20 |
영속성 컨텍스트 - 플러시 (0) | 2022.09.20 |
영속성 컨텍스트 - 변경 감지 (0) | 2022.09.20 |
영속성 컨텍스트 - 쓰기 지연 (0) | 2022.09.20 |
댓글