package com.salesmanager.core.model.order.orderproduct; import java.math.BigDecimal; 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 com.salesmanager.core.constants.SchemaConstant; import com.salesmanager.core.model.generic.SalesManagerEntity; import com.salesmanager.core.model.order.Order; @Entity @Table (name="ORDER_PRODUCT" , schema=SchemaConstant.SALESMANAGER_SCHEMA) public class OrderProduct extends SalesManagerEntity<Long, OrderProduct> { private static final long serialVersionUID = 176131742783954627L; @Id @Column (name="ORDER_PRODUCT_ID") @TableGenerator(name = "TABLE_GEN", table = "SM_SEQUENCER", pkColumnName = "SEQ_NAME", valueColumnName = "SEQ_COUNT", pkColumnValue = "ORDER_PRODUCT_ID_NEXT_VALUE") @GeneratedValue(strategy = GenerationType.TABLE, generator = "TABLE_GEN") private Long id; @Column (name="PRODUCT_SKU") private String sku; @Column (name="PRODUCT_NAME" , length=64 , nullable=false) private String productName; @Column (name="PRODUCT_QUANTITY") private int productQuantity; @Column (name="ONETIME_CHARGE" , nullable=false ) private BigDecimal oneTimeCharge; @ManyToOne(targetEntity = Order.class) @JoinColumn(name = "ORDER_ID", nullable = false) private Order order; @OneToMany(mappedBy = "orderProduct", cascade = CascadeType.ALL) private Set<OrderProductAttribute> orderAttributes = new HashSet<OrderProductAttribute>(); @OneToMany(mappedBy = "orderProduct", cascade = CascadeType.ALL) private Set<OrderProductPrice> prices = new HashSet<OrderProductPrice>(); @OneToMany(mappedBy = "orderProduct", cascade = CascadeType.ALL) private Set<OrderProductDownload> downloads = new HashSet<OrderProductDownload>(); public OrderProduct() { } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getProductName() { return productName; } public void setProductName(String productName) { this.productName = productName; } public int getProductQuantity() { return productQuantity; } public void setProductQuantity(int productQuantity) { this.productQuantity = productQuantity; } public Order getOrder() { return order; } public void setOrder(Order order) { this.order = order; } public Set<OrderProductAttribute> getOrderAttributes() { return orderAttributes; } public void setOrderAttributes(Set<OrderProductAttribute> orderAttributes) { this.orderAttributes = orderAttributes; } public Set<OrderProductPrice> getPrices() { return prices; } public void setPrices(Set<OrderProductPrice> prices) { this.prices = prices; } public Set<OrderProductDownload> getDownloads() { return downloads; } public void setDownloads(Set<OrderProductDownload> downloads) { this.downloads = downloads; } public void setSku(String sku) { this.sku = sku; } public String getSku() { return sku; } public void setOneTimeCharge(BigDecimal oneTimeCharge) { this.oneTimeCharge = oneTimeCharge; } public BigDecimal getOneTimeCharge() { return oneTimeCharge; } }