@EmbeddedId
@EmbeddedId란?JPA에서 복합 키(Composite Key)를 정의할 때 사용하는 어노테이션으로,
@Embeddable클래스를 활용하여 복합 키를 정의할 수 있다.
Gradle 설정
JPA를 사용하기 위해 spring-boot-starter-data-jpa 의존성을 추가해야 한다.
dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.hibernate:hibernate-core:5.6.9.Final'
}
역할
- JPA에서 복합 키를 설정할 때 사용
- @Embeddable클래스와 함께 사용하여 객체로 키를 관리 가능
- 기본 키를 여러 개 결합하여 하나의 키로 관리
사용법
1️⃣ @Embeddable 클래스로 복합 키 정의
import java.io.Serializable;
import javax.persistence.Embeddable;
@Embeddable
public class OrderKey implements Serializable {
    private Long orderId;
    private Long productId;
    // 기본 생성자, equals(), hashCode() 필수 구현
}
2️⃣ @EmbeddedId로 복합 키 사용
import javax.persistence.*;
@Entity
public class Order {
    
    @EmbeddedId
    private OrderKey id;
    private String orderStatus;
}
 
      
댓글남기기