hibernate 级联更新


@Entity
@Table(name = "customer_order_hd")
@NamedQuery(name = "CustomerOrderHd.findAll", query = "SELECT c FROM CustomerOrderHd c")
public class CustomerOrderHd implements Serializable {
private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "order_no", unique = true, nullable = false)
private Long orderNo;

@Column(name = "create_by", length = 50)
private String createBy;

@Column(name = "create_date")
private Timestamp createDate;

@Column(name = "customer_id")
private Long customerId;

@Temporal(TemporalType.DATE)
@Column(name = "order_date")
private Date orderDate;

@Column(name = "order_remark", length = 250)
private String orderRemark;

@Column(name = "order_status", length = 10)
private String orderStatus;

@Column(name = "order_total_amount", precision = 10, scale = 2)
private BigDecimal orderTotalAmount;

@Column(name = "purchased_location", length = 50)
private String purchasedLocation;

@Column(name = "purchaser_name", length = 80)
private String purchaserName;

@Column(name = "staff_user_id", length = 50)
private String staffUserId;

@Column(name = "update_by", length = 50)
private String updateBy;

@Temporal(TemporalType.TIMESTAMP)
@Column(name = "update_date")
private Date updateDate;

// bi-directional many-to-one association to CustomerOrderDet
@OneToMany(mappedBy = "customerOrderHd")
//@OneToMany(cascade={CascadeType.MERGE, CascadeType.ALL})
//@JoinColumn(name="order_no", nullable=false)
private List<CustomerOrderDet> customerOrderDets;

// bi-directional many-to-one association to CustomerOrderTran
@OneToMany(mappedBy = "customerOrderHd", cascade = CascadeType.MERGE)
private List<CustomerOrderTrans> customerOrderTranses;





@Entity
@Table(name="customer_order_det")
@NamedQuery(name="CustomerOrderDet.findAll", query="SELECT c FROM CustomerOrderDet c")
public class CustomerOrderDet implements Serializable {
private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="order_det_id", unique=true, nullable=false)
private Long orderDetId;

@Column(name="create_by", length=50)
private String createBy;

@Column(name="create_date")
private Timestamp createDate;

@Column(name="item_remark", length=100)
private String itemRemark;

@Column(name="item_total_amout", precision=10, scale=2)
private BigDecimal itemTotalAmout;

@Column(name="order_qty")
private int orderQty;

@Column(name="update_by", length=50)
private String updateBy;

@Temporal(TemporalType.TIMESTAMP)
@Column(name="update_date")
private Date updateDate;

//bi-directional many-to-one association to CustomerOrderHd
@ManyToOne(cascade={CascadeType.MERGE, CascadeType.ALL})
@JoinColumn(name="order_no", nullable=false)
private CustomerOrderHd customerOrderHd;


@OneToMany(mappedBy = "customerOrderHd"):意思是让对方维护关联关系,如果保存CustomerOrderHd对象不会级联更新customerOrderDets;
@JoinColumn(name="order_no", nullable=false):name的值为外键字段名
mappedBy和JoinColumn的意思正好相反,不能同时用在一个字段上。
注意:many方即子表方不管怎样都有权维护关联关系。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值