목차
1. JPA 기본 Annotation 정리
1.1 @Entity
JPA 기본 Annotation 정리
- 데이터베이스의 테이블과 1:1로 매칭되는 객체 단위
- Entity 객체의 인스턴스 하나가 테이블에서 하나의 레코드 값을 의미
- 그래서 객체의 인스턴스를 구분하기 위해, 유일한 키값을 가지는데, 이것은 Primary Key와 같은 의미를 지닌다.
- @Id 어노테이션으로 표기한다.
Spring Boot 를 설정할때, 스프링 설정파일 (예) application .yaml ) 에서 spring.jpa.hibernate.ddl-auto 설정이 create 혹은 update로 되어 있을 경우 Spring Boot가 시작될때 Entity Manager가 자동으로 DDL을 수행해 테이블을 생성해준다.
이때, 명시적으로 @Table 의 name 속성을 이용해서 데이터베이스상의 실제 테이블 명칭을 지정해주어야 한다.
- Entity 클래스 이름 그대로 CamelCase 를 유지한 채 테이블이 생성이 되기 때문에, 테이블 이름을 명시적으로 작성하는것이 관례이다.
- 데이터 베이스상에서 보편적으로 사용되는 명명법은 UnderScore가 원칙이다. (EMPLOYEE_ADDRESS)
1.2 @Column
- 데이터베이스의 테이블에 있는 컬럼과 동일하게 1:1로 매칭되기 때문에 Entity 클래스안에 내부 변수로 정의 된다.
- 만약 테이블에 A, B, C 컬럼이 있다면 각각 3개의 @Column 어노테이션을 작성 하면 된다.
- 꼭 1:1로 매칭되게 @Column 을 써야되는건 아니다. a, b 필드만 @Column 어노테인션을 붙여도 된다.