티스토리 뷰

 

 

- 객체와 테이블 매핑 : @Entity, @Table

- 필드와 컬럼 매핑 : @Column

- 기본 키 매핑 : @Id

- 연관관계 매핑 : @ManyToOne, @JoinColumn

 

@Entity

- @Entity가 붙은 클래스는 jpa가 관리, 엔티티라 한다.

- JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 필수

- 주의

ㄴ 기본 생성자 필수(파라미터가 없는 public 또는 protected 생성자)

ㄴ final 클래스, enu,, interface, inner 클래스 사용 x

ㄴ 저장할 필드에 final 사용 x

 

@Entity 속성

- name

ㄴ JPA에서 사용할 엔티티 이름을 지정한다.

ㄴ 기본값 : 클래스 이름을 그대로 사용 (예: Member)

ㄴ 같은 클래스 이름이 없으면 가급적 기본값을 사용한다.

 

@Table

@Entity
@Table(name="mbr") //해주지 않는 경우 클래스 네임이 테이블네임이 된다.
public class Member {

    @Id
    private Long id;

    @Column(name="name")// 해주지 않는 경우 필드명을 따라가게 된다.
    private String name;

    public Member() {
    }

 

만약 데이터베이스에서 사용하는 table이름이 mbr이라면 이렇게 사용하면 된다.

인서트문, 조회 등을 할 때 쿼리가 from mbr로 나가게 된다.

 

- 속성

ㄴ name = 매핑할 테이블 이름 (기본값 : 엔티티 이름을 사용)

ㄴ catalog = 데이터베이스 catalog 매핑

ㄴ schema = 데이터베이스 schema 매핑

ㄴ uniqueConstraints(DDL) = DDL 생성 시에 유니크 제약 조건 생성

 

 

'dev_공부일지 > spring JPA 활용 웹만들기' 카테고리의 다른 글

프로젝션(SELECT)  (0) 2024.02.19
데이터베이스 스키마 자동 생성  (1) 2024.01.31
준영속 상태  (0) 2024.01.30
플러시란?  (0) 2024.01.30
쓰기지연 SQL 저장소  (1) 2024.01.30
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함