Java Persistence API
어노테이션 | 설명 |
---|---|
@Entity | JPA에게 해당 클래스를 엔티티로 인식하도록 알려줌. 엔티티 클래스는 데이터베이스의 테이블과 매핑된다. |
@Table | 엔티티 클래스와 매핑할 데이터베이스 테이블 이름을 지정. 일반적으로 엔티티 클래스의 이름과 동일한 이름의 테이블과 매핑된다. |
@Id | 엔티티의 기본 키(primary key) 필드를 지정. JPA는 이 필드를 사용하여 데이터베이스 레코드(row)를 고유하게 식별한다. |
@GeneratedValue | 기본 키 필드의 값을 자동으로 생성하는 방법을 지정. 옵션: GenerationType.AUTO(JPA 구현체 (ex Hibernate)에게 기본 키 생성 전략을 자동으로 선택하게 함. 데이터베이스에 종속되지 않는 장점 존재), GenerationType.IDENTITY(데이터베이스 자동증가 기능을 사용하여 기본 키 값을 생성), GenerationType.SEQUENCE(데이터베이스 시퀀스를 사용하여 기본 키 값을 생성) |
@Column | 엔티티 클래스의 필드를 데이터베이스 컬럼과 매핑할 때 사용. 컬럼의 이름 뿐만 아니라 길이, null 허용 여부 등 지정 가능 |
관계 매핑 어노테이션 | 종류: @OneToOne, @OneToMany, @ManyToOne, @ManyToMany 두 엔티티 사이의 관계를 나타낸다. |
@JoinColumn | 외래 키(foregin key) 컬럼의 이름 및 기타 속성을 지정할 때 사용된다. |