JPA 매핑

su dong·2023년 8월 15일
0

엔티티 매핑

1. 객체와 테이블 매핑

@Entity @Table

데이터베이스 스키마 자동생성 - 운영장비에서는 절대로 쓰지마라

2. 필드와 컬럼 매핑

@Entity
@Table(name = "Member")
public class Member {
    @Id
    private Long id;
    @Column(name = "name") //컬럼매핑
    private String username;
    private Integer age;
    @Enumerated(EnumType.STRING)//enum 타입 매핑
    private RoleType roleType;
    @Temporal(TemporalType.TIMESTAMP)//날짜 타입 매핑
    private Date createdDate;
    @Temporal(TemporalType.TIMESTAMP)
    private Date lastModifiedDate;
    @Lob //BLOB, CLOB 매핑
    private String description;
}

@Column

3. 기본키 매핑

@Id @GenerativeValue

strategy

Identity

DB에 생성을 위임하는 것.
이걸로 하면 db에 들어가봐야 pk값을 알 수 있어서, 영속성 컨텍스트 활용에 제약이 생김.
em.persist 하자 마자 -> 데이터베이스에 쿼리를 날림(원래는 commit시점에 날림)

4. 연관관계 매핑

@ManyToOne @JoinColumn

데이터베이스 스키마 자동 생성

필드와 컬럼 매핑

기본키 매핑

profile
사람들을 돕는 문제 해결사, 개발자 sudong입니다. 반갑습니다. tkddlsqkr21@gmail.com

0개의 댓글