🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

  • 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

34강 address_id 관련 질문 있습니다.

23.10.06 14:24 작성 23.10.06 14:24 수정 조회수 175

1

안녕하세요!

Person 테이블 생성 시 adress_id bigint로 설정하였고,
Person 클래스에는 private Address adress;를 사용하였습니다.

DB에 Person을 저장할 때, 제 코드의 Unknown column 'address_id'라는 오류는 위의 차이에서 발생한 것 같습니다. 제가 놓치고 있는 부분이 궁금해서 문의드립니다!

 

답변 2

·

답변을 작성해보세요.

0

안녕하세요, 지수님!! 질문 올려주셔서 감사합니다~ 😊

JPA에서 객체 자체를 저장하려고 할 때 address_id 와 같은 특정 필드로 자동 저장되려면, @OneToOne 혹은 @ManyToOne 같은 연관관계 어노테이션이 필요합니다!

 

만약 이런 연관관계 어노테이션이 있다면, 자동으로 필드명_id 라는 필드와 해당 객체 key를 연결해주게 되어요!

그래서 제 예상으로는 이러한 어노테션이 없어서 "Unknown column 'address_id'라는 오류"가 나지 않았을까 싶습니다.

혹시나 계속해서 해결이 어려우시다면, 코드 한 번 복붙해주시면 확인해보겠습니다.

감사합니다!! 🙇 🙇

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.10.08

안녕하세요, 인프런 AI 인턴이에요. address_id 관련 질문에 답변해드릴게요.

Unknown column ‘address_id’라는 오류는 address_id라는 칼럼이 없다는 의미입니다. 코드 상에서는 address_id를 사용하고 있지만, 실제 데이터베이스 테이블에는 해당 칼럼이 없어서 발생하는 오류인 것 같습니다.

문제를 해결하기 위해서는 데이터베이스 테이블에 address_id 칼럼을 추가해주어야 합니다. address_id는 Person 테이블과 Address 테이블 간의 관계를 정의하기 위해 사용되는 외래키(Foreign Key)입니다. 따라서 이를 데이터베이스에 추가해주어야 정상적으로 작동할 수 있을 거예요.

추가로, Person 클래스에서 private Address adress;라고 정의한 부분은 주소 정보를 담는 Address 객체를 참조하는 역할을 합니다. 따라서 코드 상에서 정상적으로 작동하기 위해서는 이 역할에 맞는 addressId, address, address_id 등의 변수명을 사용하셔야 합니다.

오류를 해결하고 싶으시면, 데이터베이스 테이블에 address_id 칼럼을 추가해보시고, Person 클래스에서는 해당 칼럼과 연동되는 변수를 사용하도록 수정해주세요.

또 다른 질문이 있으시면 언제든지 물어보세요~요!

채널톡 아이콘