
jpa에서 엔티티는 데이터베이스에 저장 될 수 이쓰는 데이터를 나타낸다.
엔티티는 데이터 베이스의 테이블이라고 생각하면 된다.
엔티티의 각 인스턴스는 테이블의 한 행을 나타낸다.
어노테이션을 사용한다.
- @Entity : JPA가 관리할 객체임을 명시한다.
- name : Entity의 이름을 설정. 없으면 클래스 이름- @Table : 매핑할 DB테이블 정보 설정한다.
- name : table 이름 설정. 없으면 Entity의 이름
- index : table의 index를 설정한다.- @Id : 기본 키 (PK) 매핑
- @Column : 필드와 컬럼 매핑 가능
@Entity
@Table(name = "members")
public class Member {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
@Column(name = "created_at")
private ZonedDateTime createdDate;
}
@GeneratedValue : auto_increment등의 옵션을 줄때 사용
@Column : 필드와 컬럼 매핑기능
@Transient : Entity에는 있지만 데이터 베이스에서 사용하지 않을 때
가볍게 생각하면 Entity = DB의 table
Entity를 사용할 때는 @Id(DB의 PK)가 필수이다.
어노테이션을 활용하여 옵션을 적용할 수 있다.