JPA一對多配置

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);
相關文章
相關標籤/搜索