프로그래밍/Spring
[JPA] 외래키 사용
I'm_
2024. 2. 4. 11:28
✅ 들어가며
JPA에서는 클래스에 필드로 클래스를 선언함으로써 연관관계를 매핑할 수 있다.
이번 프로젝트에서 아래와 같이 외래키를 연결하고 싶어 우선 N:1 단방향 연관관계를 매핑하는 방법에 대해 공부해보았다.
✅ N:1 연관 관계 매핑
객체지향 프로그램에서의 객체와 RDB에서의 테이블이 서로 연관관계를 맺는 방법이 다르다. 이 둘의 차이를 채우기 위해 매핑과정이 필요하고 이를 JPA가 수행하게 된다.
N:1 연관관계는 간단히 @ManyToOne, @JoinColumn 어노테이션을 이용하면 된다.
public class Food {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column
private long foodId;
@Column(nullable = false, length = 50)
private String foodName;
@Column(nullable = false)
private int price;
@Column(nullable = false)
private String foodDescription;
@ManyToOne //N:1관계 매핑
@JoinColumn //외래키 정의
Restaurant restaurant;
✅ 나가며
왜인지는 모르겠으나 동일한 코드로 테스트를 했음에도 불구하고 이틀간 테스트에서 restaurantId의 값이 저장되지 않았었다.
동일한 코드로 테스트를 진행했을 때 성공한 것을 봤을 때 데이터를 전송형식에 문제가 있었던 것 같다.
일단 단방향 매핑은 성공했으니 다음 도메인에서는 양방향 매핑을 시도할 것이다.
📚 참고자료