package com.salesmanager.core.model.order.orderaccount; import java.io.Serializable; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; 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.order.orderproduct.OrderProduct; import com.salesmanager.core.utils.CloneUtils; @Entity @Table (name="ORDER_ACCOUNT_PRODUCT", schema=SchemaConstant.SALESMANAGER_SCHEMA ) public class OrderAccountProduct implements Serializable { private static final long serialVersionUID = -7437197293537758668L; @Id @Column (name="ORDER_ACCOUNT_PRODUCT_ID") @TableGenerator(name = "TABLE_GEN", table = "SM_SEQUENCER", pkColumnName = "SEQ_NAME", valueColumnName = "SEQ_COUNT", pkColumnValue = "ORDERACCOUNTPRODUCT_SEQ_NEXT_VAL") @GeneratedValue(strategy = GenerationType.TABLE, generator = "TABLE_GEN") private Long orderAccountProductId; @ManyToOne @JoinColumn(name = "ORDER_ACCOUNT_ID" , nullable=false) private OrderAccount orderAccount; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "ORDER_PRODUCT_ID" , nullable=false) private OrderProduct orderProduct; @Temporal(TemporalType.DATE) @Column (name="ORDER_ACCOUNT_PRODUCT_ST_DT" , length=0 , nullable=false) private Date orderAccountProductStartDate; @Temporal(TemporalType.DATE) @Column (name="ORDER_ACCOUNT_PRODUCT_END_DT", length=0) private Date orderAccountProductEndDate; @Temporal(TemporalType.TIMESTAMP) @Column (name="ORDER_ACCOUNT_PRODUCT_EOT" , length=0 ) private Date orderAccountProductEot; @Temporal(TemporalType.DATE) @Column (name="ORDER_ACCOUNT_PRODUCT_ACCNT_DT" , length=0 ) private Date orderAccountProductAccountedDate; @Temporal(TemporalType.TIMESTAMP) @Column (name="ORDER_ACCOUNT_PRODUCT_L_ST_DT" , length=0 ) private Date orderAccountProductLastStatusDate; @Column (name="ORDER_ACCOUNT_PRODUCT_L_TRX_ST" , nullable=false ) private Integer orderAccountProductLastTransactionStatus; @Column (name="ORDER_ACCOUNT_PRODUCT_PM_FR_TY" , nullable=false ) private Integer orderAccountProductPaymentFrequencyType; @Column (name="ORDER_ACCOUNT_PRODUCT_STATUS" , nullable=false ) private Integer orderAccountProductStatus; public OrderAccountProduct() { } public Long getOrderAccountProductId() { return orderAccountProductId; } public void setOrderAccountProductId(Long orderAccountProductId) { this.orderAccountProductId = orderAccountProductId; } public OrderAccount getOrderAccount() { return orderAccount; } public void setOrderAccount(OrderAccount orderAccount) { this.orderAccount = orderAccount; } public OrderProduct getOrderProduct() { return orderProduct; } public void setOrderProduct(OrderProduct orderProduct) { this.orderProduct = orderProduct; } public Date getOrderAccountProductStartDate() { return CloneUtils.clone(orderAccountProductStartDate); } public void setOrderAccountProductStartDate(Date orderAccountProductStartDate) { this.orderAccountProductStartDate = CloneUtils.clone(orderAccountProductStartDate); } public Date getOrderAccountProductEndDate() { return CloneUtils.clone(orderAccountProductEndDate); } public void setOrderAccountProductEndDate(Date orderAccountProductEndDate) { this.orderAccountProductEndDate = CloneUtils.clone(orderAccountProductEndDate); } public Date getOrderAccountProductEot() { return CloneUtils.clone(orderAccountProductEot); } public void setOrderAccountProductEot(Date orderAccountProductEot) { this.orderAccountProductEot = CloneUtils.clone(orderAccountProductEot); } public Date getOrderAccountProductAccountedDate() { return CloneUtils.clone(orderAccountProductAccountedDate); } public void setOrderAccountProductAccountedDate( Date orderAccountProductAccountedDate) { this.orderAccountProductAccountedDate = CloneUtils.clone(orderAccountProductAccountedDate); } public Date getOrderAccountProductLastStatusDate() { return CloneUtils.clone(orderAccountProductLastStatusDate); } public void setOrderAccountProductLastStatusDate( Date orderAccountProductLastStatusDate) { this.orderAccountProductLastStatusDate = CloneUtils.clone(orderAccountProductLastStatusDate); } public Integer getOrderAccountProductLastTransactionStatus() { return orderAccountProductLastTransactionStatus; } public void setOrderAccountProductLastTransactionStatus( Integer orderAccountProductLastTransactionStatus) { this.orderAccountProductLastTransactionStatus = orderAccountProductLastTransactionStatus; } public Integer getOrderAccountProductPaymentFrequencyType() { return orderAccountProductPaymentFrequencyType; } public void setOrderAccountProductPaymentFrequencyType( Integer orderAccountProductPaymentFrequencyType) { this.orderAccountProductPaymentFrequencyType = orderAccountProductPaymentFrequencyType; } public Integer getOrderAccountProductStatus() { return orderAccountProductStatus; } public void setOrderAccountProductStatus(Integer orderAccountProductStatus) { this.orderAccountProductStatus = orderAccountProductStatus; } }