order
@Entity
@Table(name = "book_order")
@Data
@Builder
public class Order {
@Tolerate
public Order(){
}
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@ApiModelProperty("建立者")
private String createdBy;
@ApiModelProperty("建立時間")
@Temporal(TemporalType.TIMESTAMP)
private Date createdAt;
@OneToMany(cascade = CascadeType.ALL,orphanRemoval=true,fetch = FetchType.EAGER,mappedBy = "order")
private List<Item> items;
@Override
public String toString(){
return ToStringBuilder.reflectionToString(this);
}
}
item
@Entity
@Table(name = "book_item")
@Data
@Builder
public class Item {
@Tolerate
public Item(){
}
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@ManyToOne
@JoinColumn(name = "order_id")
@JsonIgnore
private Order order;
@ApiModelProperty("建立者")
private String createdBy;
@ApiModelProperty("建立時間")
@Temporal(TemporalType.TIMESTAMP)
private Date createdAt;
@Override
public String toString(){
return ToStringBuilder.reflectionToString(this);
}
}
級聯保存
item.setOrder(order);
items.add(item);
order.setItems(items);
orderDao.save(order);