강의

멘토링

커뮤니티

Inflearn Community Q&A

aparkjun0185's profile image
aparkjun0185

asked

Real-world! Spring Boot and JPA Utilization 1 - Web Application Development

entity 클래스 개발 2강의에서 질문드립니다

Written on

·

204

0

h2 db에서

CATEGORY

CATEGORY_ITM

DELIVERY

ITEM

MEMBER

ORDERS

ORDER_ITEM

중에서

CATEGORY

CATEGORY_ITEM

ITEM

MEMBER의

4개밖에 생성이 안됩니다

-----------------------------------------

Delivery.java

package jpabook.jpashop.domain;

import lombok.Getter;
import lombok.Setter;

import javax.persistence.*;

@Entity
@Getter
@Setter
public class Delivery {

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

@OneToOne(mappedBy = "delivery")
private Order order;

@Embedded
private Address address;

@Enumerated(EnumType.STRING)
private DeliveryStatus status; //READY, COMP

}

Order.java

package jpabook.jpashop.domain;

import lombok.Getter;
import lombok.Setter;

import javax.persistence.*;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;

@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")
private List<OrderItem> orderItems=new ArrayList<>();

private Delivery delivery;

private LocalDateTime orderDate; //주문시간

private OrderStatus status; //주문상태[ORDER,CANCEL]
}

OrderIem.java

package jpabook.jpashop.domain;

import jpabook.jpashop.domain.item.Item;
import lombok.Getter;
import lombok.Setter;

import javax.persistence.*;

@Entity
@Getter
@Setter
public class OrderItem {

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

@ManyToOne
@JoinColumn(name="itm_id")
private Item item;

@ManyToOne
@JoinColumn(name="order_id")
private Order order;

private int orderPrice; //주문 가격
private int count; //주문 수량

}
spring-bootjavaJPA웹앱spring

Answer 2

0

yh님의 프로필 이미지
yh
Instructor

안녕하세요. 준호님^^

우선 확인해보니 JPA 설정들이 정상으로 되어 있지 않아서 진행이 잘 안되었더라구요.

참고로 실행하고, localhost:9080으로 접근하면 오류 로그를 볼 수 있습니다.

추가로 강의 메뉴얼에 설명드리듯이 프로젝트를 만들 때 스프링에 아직 익숙하지 않으시면 스프링 버전을 꼭! 2.1.16(2.1.x)버전을 선택해서 시작해주세요^^!

class -> enum
기존
package jpabook.jpashop.domain;

public class DeliveryStatus {
    //READY, COMP
}

변경
package jpabook.jpashop.domain;

public enum DeliveryStatus {
    //READY, COMP
}


class -> enum
기존
package jpabook.jpashop.domain;

public class OrderStatus {
   // ORDER,CANCEL
}

변경
package jpabook.jpashop.domain;

public enum OrderStatus {
   // ORDER,CANCEL
}


@OneToOne, @Enumerated(EnumType.STRING)추가
기존
public class Order {

    private Delivery delivery;

    private OrderStatus status; //주문상태[ORDER,CANCEL]

}

변경
public class Order {

    @OneToOne
    private Delivery delivery;

    @Enumerated(EnumType.STRING)
    private OrderStatus status; //주문상태[ORDER,CANCEL]

}


띄어쓰기 2칸 주의
application.yml
기존
spring:
  datasource:
    url: jdbc:h2:tcp://localhost/~/jpashop
    username: sa
    password:
      driver-class-name: org.h2.Driver

변경
spring:
  datasource:
    url: jdbc:h2:tcp://localhost/~/jpashop
    username: sa
    password:
    driver-class-name: org.h2.Driver

감사합니다.

0

yh님의 프로필 이미지
yh
Instructor

안녕하세요. 박준호님

도움을 드리고 싶은데, 해당 코드만으로는 정확한 원인을 모르겠네요.

전체 프로젝트를 압축해서 올려주세요.

aparkjun0185's profile image
aparkjun0185

asked

Ask a question