엔티티매핑
객체와 테이블 매핑:
@Entity
,@Table
필드와 컬럼 매핑:
@Column
기본 키 매핑:
@id
연관관계 매핑:
@ManyToOne
,@JoinColumn
@Entity
@Entity가 붙은 클래스는 JPA가 관리하는 Entity라 지칭합니다.
JPA를 사용하여 테이블과 매핑할 클래스는 @Entity가 필수적으로 붙습니다.
기본생성자 필수 적으로 생성되어야 합니다.
final, enum, interface, inner 클래스는 @Entity가 적용되지 않습니다.
Table
name
catalog
schema
uniqueConstrains(DDL) ...
@Entity // @Entity 사용방법 @Table(name = "USER") // @Table(name) 사용방법 public class User { @Id private long id; @Column(name = "name") private String name; public User(){}; public User(long id, String name) { this.setId(id); this.setName(name); } public long getId() { return id; } public void setId(long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
위와 같이 @Table을 사용하게 되면 class의 명에 상관없이 table명을 따로 매핑 시켜줄 수 있습니다.
다만 이렇게 생성할 시 클래스가 많아짐에 따라 헷갈릴 수 있으니 프로젝트 시 특별한 일이 없다면 @Table(name)
을 따로 설정하지 않는것을 추천드립니다.
728x90
반응형
'CS' 카테고리의 다른 글
[HTTP] 인터넷 네트워크 (0) | 2021.12.13 |
---|---|
[JPA] 필드와 컬림매핑 (2) | 2021.12.10 |
[JPA] 준영속 상태 (0) | 2021.12.08 |
[jpa] 영속성컨텍스트1 (0) | 2021.12.07 |
# [JPA] JPQL의 기본적 정의와 간단한 사용법 (4) | 2021.11.30 |