package com.hongqiang.shop.modules.entity; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.OneToOne; import javax.persistence.PreRemove; import javax.persistence.Table; @Entity @Table(name="hq_coupon_code") public class CouponCode extends BaseEntity { private static final long serialVersionUID = -1812874037224306719L; private String code;//团购代码 private Boolean isUsed;//代码是否可以使用 private Date usedDate;//使用日期 private Coupon coupon;//团购实体类 private Member member;//会员实体类 private Order order;//订单实体类 @Column(nullable=false, updatable=false, unique=true) public String getCode() { return this.code; } public void setCode(String code) { this.code = code; } @Column(nullable=false) public Boolean getIsUsed() { return this.isUsed; } public void setIsUsed(Boolean isUsed) { this.isUsed = isUsed; } public Date getUsedDate() { return this.usedDate; } public void setUsedDate(Date usedDate) { this.usedDate = usedDate; } @ManyToOne(fetch=FetchType.LAZY) @JoinColumn(nullable=false, updatable=false) public Coupon getCoupon() { return this.coupon; } public void setCoupon(Coupon coupon) { this.coupon = coupon; } @ManyToOne(fetch=FetchType.LAZY) public Member getMember() { return this.member; } public void setMember(Member member) { this.member = member; } @OneToOne(mappedBy="couponCode", fetch=FetchType.LAZY) @JoinColumn(name="orders") public Order getOrder() { return this.order; } public void setOrder(Order order) { this.order = order; } @PreRemove public void preRemove() { if (getOrder() != null) getOrder().setCouponCode(null); } }