@Entity
- 해당 클래스가 엔티티임을 명시하기 위한 어노테이션이다.
- 해당 클래스의 인스턴스는 매핑되는 테이블에서 하나의 레코드를 의미하게 된다.
@Table
- @Table 어노테이션을 사용할 때는 클래스의 이름과 테이블의 이름을 다르게 지정해야 하는 경우이다.
- @Table 어노테이션을 명시하지 않으면 테이블의 이름과 클래스의 이름이 동일하다는 의미이다.
- ex) @Table(name = 값)
@Id
- 엔티티 클래스의 Primary Key를 지정할때 사용한다.
- 모든 엔티티는 @Id 어노테이션이 필요하다.
@GeneratedValue
- 일반적으로 @Id와 함께 사용된다.
- 해당 필드의 값을 어떤 방식으로 자동으로 생성할지 결정할 때 사용한다.
@Column
@Transient
- 엔티티 클래스의에는 선언돼 있는 필드지만 데이터베이스에서는 필요 없을 경우 이 어노테이션을 사용해 데이터베이스에서 이용하지 않게 할 수 있다.