5
SPRING DATA JPA 엔엔엔 엔엔 @ENTITY, @TABLE, @COLUMN 이이이 , 이이이이이 (topcredu.co.kr)

(스프링 JPA기초강좌)JPA엔티티매핑 @Entity, @Table, @Column

  • Upload
    3-2

  • View
    958

  • Download
    0

Embed Size (px)

Citation preview

Page 1: (스프링 JPA기초강좌)JPA엔티티매핑 @Entity, @Table, @Column

SPRING DATA JPA 엔티티 매핑@ENTITY, @TABLE, @COLUMN

이종철 , 탑크리에듀 (topcredu.co.kr)

Page 2: (스프링 JPA기초강좌)JPA엔티티매핑 @Entity, @Table, @Column

엔티티 매핑 (@ENTITY, @TABLE) @Entity : 엔티티 클래스임을 지정하며 테이블과 매핑된다 . @Table : 엔티티가 매핑될 테이블을 지정하고 생략시 엔티티 클래스 이름과 같은 테이블로 매핑된다 . 대부분의 JPA Persistence 제공자들은 테이블 생성 기능을 제공한다 . Emp 클래스를 MYEMP 라는 테이블면으로 매핑하는 경우

@Entity@Table(name="MYEMP")public class Emp ... 아래처럼 empno 칼럼에 대해 고유 제약조건을 지정할 수 있다 .( 중복불가 !)@Entity@Table(name="MYEMP",

uniqueConstraints= {@UniqueConstraint(columnNames={"EMPNO"})})

public class Emp ...

Page 3: (스프링 JPA기초강좌)JPA엔티티매핑 @Entity, @Table, @Column

엔티티 매핑 (@COLUMN) - 1 @Column 어노테이션은 칼럼의 이름을 이용하여 지정된 필드나 속성을 테이블의 칼럼에 매핑 한다 . 생략되면 속성과 같은 이름의 칼럼으로 매핑된다 . empno 속성을 테이블의 emp_no 컬럼으로 매핑

한 엔티티의 속성을 여러 테이블의 칼럼에 다중 매핑 하는 경우 .(city 속성은 EMP 테이블 및 CUSTOMER_CITY 테이블에 동시에 매핑된다 .)

@Column(name="EMP_NO")protected Integer empno;

@Entitypublic class Emp { @Column(name="CITY", table="CUSTOMER_CITY") protected String city;…

// 칼 럼 에 대 해 insert, update 허 용 여 부 를 속성으로 표시@Column(name="EMP_NO", insertable=false, updatable=false)protected Integer empno;

Page 4: (스프링 JPA기초강좌)JPA엔티티매핑 @Entity, @Table, @Column

엔티티 매핑 (@COLUMN) - 2 칼럼의 NULL 허용여부 , 길이등을 속성으로 표시한다 . @Column(length=20, nullable=false)

protected String name;

칼럼의 기본값은 columnDefinition 등에서 정의하면 된다 . @Column(nullable=false, columnDefinition = "number(5) default 0")

protected Integer readcount = 0;

Page 5: (스프링 JPA기초강좌)JPA엔티티매핑 @Entity, @Table, @Column

Practice makes an expert실무 JAVA, Spring Framework, JPA 교육 전문

구로디지털단지역 2 분 탑크리에듀 교육센터http://www.topcredu.co.kr/sub/crcl/lecture/java