개발일기장
ENUM type 관리 본문
728x90
ORDER entity를 다시 보면
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(fetch = FetchType.LAZY)
@JoinColumn(name = "member_id")
private Member member;
@OneToMany(mappedBy = "order", cascade = CascadeType.ALL)
private List<OrderItem> orderItems = new ArrayList<>();
@OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinColumn(name="delivery_id")
private Delivery delivery;
private LocalDateTime orderDate;
@Enumerated(EnumType.STRING)
private OrderStatus status;
//연관관계 메서드
public void setMember(Member member){
this.member = member;
member.getOrders().add(this);
}
public void addOrderItem(OrderItem orderItem){
orderItems.add(orderItem);
orderItem.setOrder(this);
}
public void setDelivery(Delivery delivery){
this.delivery = delivery;
delivery.setOrder(this);
}
}
이렇게 구성이 되어있는데
중간에 이런부분이 있음
@Enumerated(EnumType.STRING)
private OrderStatus status;
package jpabook.jpashop.domain;
public enum OrderStatus {
ORDER, CANCEL
}
이거랑 연결되는건데 @Enumerated(EnumType.STRING)으로 하면 column에 ORDER, CANCEL그대로 저장되고 그거말고 다른거 하나 더 있었는데 그걸로 하면 숫자 그대로 1,2,... 이렇게 저장된다 캄.
근대 관리하기에는 STRING으로 하는것이 효율적이니깐 이걸로 하셈 ㅇㅇ
728x90
'Spring Boot > JPA' 카테고리의 다른 글
DTO이용해서 entity 참조 된거 보내기 (0) | 2021.02.06 |
---|---|
embedded type 관리 (0) | 2021.01.30 |
일반적인 Entity (0) | 2021.01.30 |
Spring JPA강의들은거 기록 (0) | 2021.01.30 |
Comments