Backend/Spring Boot

[자바 ORM 표준 JPA 프로그래밍] 4장

lim.dev 2023. 4. 11. 22:56

주요 어노테이션!

  1. 엔티티 매핑 어노테이션
    • @Entity: JPA에서 엔티티를 정의하기 위해 필요한 어노테이션입니다.
    • @Table: 엔티티와 매핑할 테이블을 지정할 때 사용합니다.
    • @Column: 엔티티 필드와 테이블 컬럼을 매핑할 때 사용합니다.
  2. 기본 키 매핑 어노테이션
    • @Id: 엔티티의 기본 키를 지정할 때 사용합니다.
    • @GeneratedValue: 기본 키 값을 자동으로 생성할 때 사용합니다.
  3. 필드와 컬럼 매핑
    • @Enumerated: Enum 타입 필드를 매핑할 때 사용합니다.
    • @Temporal: java.util.Date와 java.util.Calendar 타입 필드를 매핑할 때 사용합니다.
    • @Lob: BLOB, CLOB 타입 필드를 매핑할 때 사용합니다.
  4. 연관관계 매핑 어노테이션
    • @ManyToOne: 다대일 관계를 매핑할 때 사용합니다.
    • @OneToMany: 일대다 관계를 매핑할 때 사용합니다.
    • @OneToOne: 일대일 관계를 매핑할 때 사용합니다.
    • @ManyToMany: 다대다 관계를 매핑할 때 사용합니다.
  5. 상속 매핑 어노테이션
    • @Inheritance: 엔티티의 상속 구조를 매핑할 때 사용합니다.
    • @DiscriminatorColumn: 상속 구조에서 엔티티 타입을 구분하기 위한 컬럼을 매핑할 때 사용합니다.
    • @DiscriminatorValue: @DiscriminatorColumn에서 지정한 컬럼 값과 매핑될 값을 지정할 때 사용합니다.

 

@Entity 적용 시 주의사항

  • 기본 생성자는 필수 (파라미터가 없는 public 또는 protected 생성자)
  • final 클래스, enum, interface, inner 클래스에는 사용할 수 없음
  • 저장할 필드에 final을 사용하면 안됨