(JPA) 엔티티매핑


@Entity
클래스에 @Entity를 붙여주면 JPA가 엔티티로서 관리한다는 것을 의미한다.

속성

  • name : 다른 Entity와 충돌이 우려될 경우 이름을 붙여준다. 기본적으로 class명을 따른다.
주의사항
  • 기본생성자 필수
  • final, enum, interface, inner 클래스에 사용못함.
  • 저장필드에 final 필드 사용못함.

@Table

Entity와 매핑할 DB테이블을 지정한다.

속성
  • name : 매핑할 table이름, 기본은 Entity 이름을 사용한다.
  • catalog : catalog 기능이 있는 DB에서 catalog를 매핑
  • schema : schema 기능이 있는 DB에서 schema 를 매핑
  • uniqueConstraints : DDL 생성 시에 유니크 제약조건을 만든다.

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

자동으로 스키마를 생성하는 기능은 아래 값을 설정 함으로써 가능하다.

<property name="hibernate.hbm2ddl.auto" auto="create">

  • create : 기존 Table Drop + 생성
  • create-drop : create후 종료시 drop 까지 실행
  • update : 변경된 내용만 수정한다. 이건 JPA 스팩에는 없고, 하이버네이트에만 있는 설정이다.
  • validate : 기존 DB Table정보와 비교해서 차이가있다면 경고하고 애플리케이션을실행하지 않는다.(하이버네이트에만 있는 설정)
  • none : 설정이 없거나 유효하지 않은 값을 설정하면 기능을 사용하지 않게 된다.

댓글

이 블로그의 인기 게시물

(18장) WebSocekt과 STOMP를 사용하여 메시징하기

(네트워크)폴링방식 vs 롱 폴링방식

(ElasticSearch) 결과에서 순서 정렬