@Entity
JPA가 관리하는 클래스를 엔티티라고 한다. 엔티티를 만들기 위해선 클래스의 기본생성자가 필수이다.
package hellojpa;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
public class Member {
@Id
private Long id;
private String name;
public Member(){} //기본생성자 필수
public Member(Long id, String name) {
this.id = id;
this.name = 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
@Table은 엔티티와 매핑할 테이블을 지정한다. @Table의 속성으로는 name이 있는데 이는 해당 엔티티를 어떤 이름의 테이블과 매핑할 것인가를 명시해줄 수 있다.
package hellojpa;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "MBR") //MBR이라는 테이블에 Member를 매핑해줌
public class Member {
@Id
private Long id;
private String name;
public Member(){}
....
}
만일 명시해주지 않는다면 엔티티명과 동일한 테이블에 매핑이된다.
package hellojpa;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table //Member테이블에 매핑됨
public class Member {
@Id
private Long id;
private String name;
public Member(){}
...
}
엔티티 설계와 매핑
'Spring > JPA' 카테고리의 다른 글
JPA- 연관관계 매핑 주의점 (0) | 2023.03.05 |
---|---|
JPA- 연관관계 매핑 (0) | 2023.03.05 |
JPA- flush와 영속성 관리 (0) | 2023.02.28 |
JPA- 영속성 컨텍스트 (0) | 2023.02.28 |
JPA- EntityManager.find()로 조회하기 (0) | 2023.02.16 |