OrderAccount.java
Home
/
sm-core-model /
src /
main /
java /
com /
salesmanager /
core /
model /
order /
orderaccount /
OrderAccount.java
package com.salesmanager.core.model.order.orderaccount;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.TableGenerator;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import com.salesmanager.core.constants.SchemaConstant;
import com.salesmanager.core.model.generic.SalesManagerEntity;
import com.salesmanager.core.model.order.Order;
import com.salesmanager.core.utils.CloneUtils;
@Entity
@Table(name = "ORDER_ACCOUNT", schema = SchemaConstant.SALESMANAGER_SCHEMA)
public class OrderAccount extends SalesManagerEntity<Long, OrderAccount> {
private static final long serialVersionUID = -2429388347536330540L;
@Id
@Column(name = "ORDER_ACCOUNT_ID", unique = true, nullable = false)
@TableGenerator(name = "TABLE_GEN", table = "SM_SEQUENCER", pkColumnName = "SEQ_NAME", valueColumnName = "SEQ_COUNT", pkColumnValue = "ORDER_ACCOUNT_ID_NEXT_VALUE")
@GeneratedValue(strategy = GenerationType.TABLE, generator = "TABLE_GEN")
private Long id;
@ManyToOne
@JoinColumn(name = "ORDER_ID", nullable = false)
private Order order;
@Temporal(TemporalType.DATE)
@Column(name = "ORDER_ACCOUNT_START_DATE", nullable = false, length = 0)
private Date orderAccountStartDate;
@Temporal(TemporalType.DATE)
@Column(name = "ORDER_ACCOUNT_END_DATE", length = 0)
private Date orderAccountEndDate;
@Column(name = "ORDER_ACCOUNT_BILL_DAY", nullable = false)
private Integer orderAccountBillDay;
@OneToMany(mappedBy = "orderAccount", cascade = CascadeType.ALL)
private Set<OrderAccountProduct> orderAccountProducts = new HashSet<OrderAccountProduct>();
public OrderAccount() {
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public Order getOrder() {
return order;
}
public void setOrder(Order order) {
this.order = order;
}
public Date getOrderAccountStartDate() {
return CloneUtils.clone(orderAccountStartDate);
}
public void setOrderAccountStartDate(Date orderAccountStartDate) {
this.orderAccountStartDate = CloneUtils.clone(orderAccountStartDate);
}
public Date getOrderAccountEndDate() {
return CloneUtils.clone(orderAccountEndDate);
}
public void setOrderAccountEndDate(Date orderAccountEndDate) {
this.orderAccountEndDate = CloneUtils.clone(orderAccountEndDate);
}
public Integer getOrderAccountBillDay() {
return orderAccountBillDay;
}
public void setOrderAccountBillDay(Integer orderAccountBillDay) {
this.orderAccountBillDay = orderAccountBillDay;
}
public Set<OrderAccountProduct> getOrderAccountProducts() {
return orderAccountProducts;
}
public void setOrderAccountProducts(
Set<OrderAccountProduct> orderAccountProducts) {
this.orderAccountProducts = orderAccountProducts;
}
}