package com.sap.hana.cloud.samples.benefits.persistence.model;
import javax.persistence.Basic;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
@Entity
@Table(name = "ORDERS_DETAILS")
public class OrderDetails implements IDBEntity {
@Id
@GeneratedValue
private Long id;
@Basic
private Long quantity;
@ManyToOne(cascade = CascadeType.MERGE)
@JoinColumn(name = "ORDER_ID", referencedColumnName = "ORDER_ID")
private Order order;
@Column(name = "ORDER_ID", insertable = false, updatable = false)
private Long orderId;
@ManyToOne(cascade = CascadeType.PERSIST)
@JoinColumn(name = "BENEFIT_TYPE_ID", referencedColumnName = "TYPE_ID")
private BenefitType benefitType;
@Column(name = "BENEFIT_TYPE_ID", insertable = false, updatable = false)
private Long benefitId;
@Override
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Long getQuantity() {
return quantity;
}
public void setQuantity(Long quantity) {
this.quantity = quantity;
}
public BenefitType getBenefitType() {
return benefitType;
}
public void setBenefitType(BenefitType benefitType) {
this.benefitType = benefitType;
if (!benefitType.getOrders().contains(this)) {
benefitType.addOrder(this);
}
}
public Order getOrder() {
return order;
}
public void setOrder(Order order) {
this.order = order;
if (!order.getOrderDetails().contains(this)) {
order.addOrderDetails(this);
}
}
public Long getOrderId() {
return orderId;
}
public void setOrderId(Long orderId) {
this.orderId = orderId;
}
public Long getBenefitId() {
return benefitId;
}
public void setBenefitId(Long benefitId) {
this.benefitId = benefitId;
}
}