[JPA 프로그래밍 입문] 엔티티(Entity)

반응형

@Table

@Table 어노테이션에는 catalog와 scheme 속성도 있다.

  • catalog - 테이블의 카달로그를 지정한다. MySQL의 데이터베이스가 카달로그에 해당한다
  • schema - 테이블의 스키마를 설정한다. 오라클의 스키마 지정

 

 

 

@Basic

JPA는 영속 대상 필드 (또는 자바빈 프로퍼티)가 int, long, String과 같은 기본 타입일 때 @Basic 애노테이션을 사용한다.

  • int, long, double 등 자바 기본 데이터 타입
  • Integer, Long, Double등 기본 데이터 타입에 대응하는 래퍼 타입
  • java.math.BigInteger, java.math.BigDecimal
  • java.lang.String
  • java.util.Date, java.util.Calendar
  • java.sql.Date, java.sql.Time, java.sql.Timestamp
  • enum 타입
  • byte[], Byte[], char[], ,Character[]

 

 

 

@Temporal

날짜와 시간 타입은 @javax.persistence.Temporal 애노테이션과 함께 사용한다.

하이버네이트 5.2는 자바 8의 날짜/시간 타입을 지원한다.

  • DATE - java.sql.Date
  • TIME - java.sql.Time
  • TIMESTAMP - java.sql.Timestamp

 

 

 

@Enumerated

열거 타입에 대한 기본 매핑 설정은 @Enumerated(EnumType.ORDINAL)이므로 상수 이름을 값으로 매핑하려면 @Enumerated를 명시적으로 설정해야 함

 

 

 

@Column

name 설정

삽입, 업데이트 거부 (auto increment)

 

 

 

@Id

JPA는 다음 두 과정에서 데이터를 읽고 쓸 때 필드를 사용한다.

  • 엔티티 객체에서 값을 읽어와 DB에 반영할 때
  • DB에서 읽어온 값을 엔티티 객체에 적용할 때

 

 

 

@Access

 

 

 

@Transient

@java.persistence.Transient

반응형

댓글

Designed by JB FACTORY