-
Notifications
You must be signed in to change notification settings - Fork 199
/
Copy pathOrder.java
117 lines (90 loc) · 2.67 KB
/
Order.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
package kitchenpos.order.domain;
import kitchenpos.ordertable.domain.OrderTable;
import javax.persistence.*;
import java.time.LocalDateTime;
import java.util.List;
import java.util.UUID;
@Table(name = "orders")
@Entity
public class Order {
@Column(name = "id", columnDefinition = "binary(16)")
@Id
private UUID id;
@Column(name = "type", nullable = false)
@Enumerated(EnumType.STRING)
private OrderType type;
@Column(name = "status", nullable = false)
@Enumerated(EnumType.STRING)
private OrderStatus status;
@Column(name = "order_date_time", nullable = false)
private LocalDateTime orderDateTime;
@OneToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE})
@JoinColumn(
name = "order_id",
nullable = false,
columnDefinition = "binary(16)",
foreignKey = @ForeignKey(name = "fk_order_line_item_to_orders")
)
private List<OrderLineItem> orderLineItems;
@Column(name = "delivery_address")
private String deliveryAddress;
@ManyToOne
@JoinColumn(
name = "order_table_id",
columnDefinition = "binary(16)",
foreignKey = @ForeignKey(name = "fk_orders_to_order_table")
)
private OrderTable orderTable;
@Transient
private UUID orderTableId;
public Order() {
}
public UUID getId() {
return id;
}
public void setId(final UUID id) {
this.id = id;
}
public OrderType getType() {
return type;
}
public void setType(final OrderType type) {
this.type = type;
}
public OrderStatus getStatus() {
return status;
}
public void setStatus(final OrderStatus status) {
this.status = status;
}
public LocalDateTime getOrderDateTime() {
return orderDateTime;
}
public void setOrderDateTime(final LocalDateTime orderDateTime) {
this.orderDateTime = orderDateTime;
}
public List<OrderLineItem> getOrderLineItems() {
return orderLineItems;
}
public void setOrderLineItems(final List<OrderLineItem> orderLineItems) {
this.orderLineItems = orderLineItems;
}
public String getDeliveryAddress() {
return deliveryAddress;
}
public void setDeliveryAddress(final String deliveryAddress) {
this.deliveryAddress = deliveryAddress;
}
public OrderTable getOrderTable() {
return orderTable;
}
public void setOrderTable(final OrderTable orderTable) {
this.orderTable = orderTable;
}
public UUID getOrderTableId() {
return orderTableId;
}
public void setOrderTableId(final UUID orderTableId) {
this.orderTableId = orderTableId;
}
}