JPA에서 식별자(@Id)를 둘 이상 사용하려면 별도의 식별자 클래스를 만들어야 한다.
@Getter
@Setter
@ToString
public class UserGroupMappingId implements Serializable {
private String userGroupId;
private String userId;
}
그리고 복합 키를 사용하면 @GeneratedValue를 사용할 수 없다. 무조건 식별자 값을 입력해주어야 한다.
@Entity
@Table(name = "user_group_mapping")
@IdClass(UserGroupMappingId.class) // 복합키 클래스
public class UserGroupMapping extends BaseEntity {
@Id
private String userGroupId;
@Id
private String userId;
private String userGroupName;
private String description;
}