@Entity
- 엔티티는 객체 세상에서 부르는 이름
- 보통 클래스와 같은 이름을 사용하기 때문에 값을 변경하지 않음
- 엔티티의 이름은 JQL에서 쓰임
@Table
- 릴레이션 세상에서 부르는 이름
- @Entity 이름이 기본값.
- 테이블의 이름은 SQL에서 쓰임
@Id
- 엔티티의 pk를 맵핑할 때 사용.
- 자바의 모든 primitive 타입과 그 레퍼런스 타입을 사용할 수 있다. (long, Long)
- long은 기본 값이 0 이라 헷갈릴 수 있다.
- Date랑 BigDecimal, BigInteger도 사용가능
- 복합 키를 만드는 맵핑 하는 방법도 있지만 그건 논외로
@GeneratedValue
- pk의 생성 방법을 맵핑하는 애노테이션
- 생성 전략과 생성기를 설정할 수 있다.