[JPA] JPA 어노테이션 정리 ✍️

최지나·2023년 10월 7일
2

CS

목록 보기
47/55

JPA란?

Java Persistence API

  • 자바 어플리케이션에서 관계형 데이터베이스를 조작하기 위한 자바 표준 API.
  • 객체와 데이터베이스 간의 매핑을 쉽게 할 수 있으며, 이를 위해 다양한 어노테이션을 제공

JPA의 특징

  • 객체-관계 매핑(ORM): 자바 객체와 데이터베이스 테이블 간의 매핑을 제공
  • JPQL(Java Persistence Query Language): SQL과 유사하지만, 데이터베이스 테이블 대신 entity 객체를 대상으로 하는 쿼리언어인 JPQL 제공 -> 데이터베이스 독립적인 쿼리 생성 가능

JPA 어노테이션

어노테이션설명
@EntityJPA에게 해당 클래스를 엔티티로 인식하도록 알려줌. 엔티티 클래스는 데이터베이스의 테이블과 매핑된다.
@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) 컬럼의 이름 및 기타 속성을 지정할 때 사용된다.
profile
의견 나누는 것을 좋아합니다 ლ(・ヮ・ლ)

0개의 댓글