• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

Member 테이블 외 DB 생성이 되지 않음

24.04.06 12:56 작성 24.04.06 12:56 수정 조회수 75

0

[질문 내용]

코드를 어제 새벽부터 계속 확인해보았는데 DB 생성이 되지 않습니다. 강사님과 스프링, DB 버전이 달라서 생기는 오류인가요? 해결 방법을 모르겠습니다..

 

JPA와 DB 설정, 동작 확인에서 Member 테이블은 생성이 되었습니다. 그러나 도메인 분석 설계 섹션 강의에서 진행한 Orders, category, delivery, item과 같은 테이블이 생성이 되지 않습니다.

 

spring-boot는 3.2.4 버전을, H2의 경우 2.2.224 버전을 사용했으며, JUnit4는 현재 사용중인 springboot와 호환이 되지 않아 JUnit5를 사용하였습니다.

 

아래 드라이브 링크는 코드 전체 압축파일 입니다!

https://drive.google.com/file/d/1_Xithr3ZMw4MzcHRz1E2TDypWM0c-_Ry/view?usp=sharing

답변 1

답변을 작성해보세요.

0

안녕하세요. 민기단님

테이블이 생성되지 않은 이유는 다음과 같은 예외가 발생했기 때문입니다.

Collection 'jpabook.jpashop.domain.Order.orderItems' is 'mappedBy' a property named 'order_id' which does not exist in the target entity 'jpabook.jpashop.domain.OrderItem'

 

다음 코드를 수정해주세요.

@Entity
@Table(name = "orders")
@Getter @Setter
public class Order {

    @Id @GeneratedValue
    @Column(name = "order_id")
    private Long id;

    @ManyToOne
    @JoinColumn(name = "member_id")
    private Member member;

    @OneToMany(mappedBy = "order_id") //여기는 order_id -> order로 수정
    private List<OrderItem> orderItems = new ArrayList<>();
    

이 코드에서 mappedBy = "order"로 수정하셔야 합니다.

 

감사합니다.