(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 : 설정이 없거나 유효하지 않은 값을 설정하면 기능을 사용하지 않게 된다.
댓글
댓글 쓰기