엔티티 매핑

 

  • 객체와 테이블 매핑: @Entity, @Table
  • 필드와 컬럼 매핑: @Column
  • 기본 키 매핑: @Id = PK
  • 연관관계 매핑: @ManyToOne, @JoinColumn

 

[Entity]

 

@Entity가 붙은 클래스는 JPA가 관리

 

  • 기본 생성자는 필수 
  • final 클래스, enum, interface, inner 클래스는 사용하면 안됨
  • 저장할 필드에는 final 필드를 사용하지 않는다.

 

 

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

 

DDL을 애플리케이션 실행 시점에 자동 생성

테이블 중심 -> 객체 중심

 

  • 이렇게 생성된 DDL은 불안할 수 있으므로 운영서버에서는 사용 지양

 

데이터베이스 스키마 자동 생성 - 주의

운영 장비에는 절대 create, create-drop, update를 사용하면 안됨.

 

테스트 서비는 update 또는 validate!! -> 데이터 날아감..

 

스테이징 및 운영 서버는 validate 또는 none

 

 

[필드랑 컬럼 매핑]

 

@Id -> PK

@Enumerated -> db에는 enum타입이 없는데, enum 타입을 매핑할 때 사용

@Temporal -> 생성날짜, 삭제날짜 

@Lob -> varchar를 넘어서는 큰 콘텐츠 삽입

 

@Column

  • Option

 

@Enumerated

  • 기본 타입 Integer
  • String으로 타입 변경 가능
  • enum타입에서 나중에 0번째에 데이터를 추가하면 숫자와 매치되는 값이 달라서 에러가 있음, 그러므로 되도록 타입을 String으로 변경해서 사용할 .

+ Recent posts