레알윙 2020. 10. 8. 15:45
반응형

테이블 구조

 

 

객체 구조

 

코드

@Entity
public class Member {
	@Id
	@GeneratedValue
	@Column(name = "MEMBER_ID")
	private Long id;
	@Column(name = "USERNAME")
	private String name;
	private int age;
	@ManyToOne
	@JoinColumn(name = "TEAM_ID")
	private Team team;

	@OneToMany
	@JoinColumn(name = "member")
	private List<Order> orders = new ArrayList<>();
    
    Getter(), Setter() ...
}

 

@Entity
@Table(name = "ORDERS")
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 LocalDateTime orderDate;

	@Enumerated(EnumType.STRING)
	private OderStatus status;

    Getter(), Setter() ...
}

 

@Entity
public class OrderItem {
	@Id
	@GeneratedValue
	@Column(name = "ORDER_ITEM_ID")
	private Long id;

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

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

	private int orderPrice;

	private int count;
    
    Getter(), Setter() ...
}

 

@Entity
public class Item {
	@Id
	@GeneratedValue
	@Column(name="ITEM_ID")
	private Long id;

	private String name;
	private int price;
	private int stockQuantity;
    
    Getter(), Setter() ...
}
반응형