package com.norteksoft.acs.entity.sale; import java.util.HashSet; import java.util.Set; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.ManyToMany; import javax.persistence.OrderBy; import javax.persistence.Table; import org.apache.commons.lang.builder.ToStringBuilder; import com.norteksoft.acs.entity.IdEntity; /** * 产品实体 * */ @Entity @Table(name = "ACS_PRODUCTS") public class Product extends IdEntity { private static final long serialVersionUID = 1L; //产品名称 private String productName; //产品版本 private String version; //产品包含的销售模块 private Set<SalesModule> salesModuels = new HashSet<SalesModule>(0); //所属系统 private Long systemId; public String getProductName() { return productName; } public void setProductName(String productName) { this.productName = productName; } public String getVersion() { return version; } public void setVersion(String version) { this.version = version; } @ManyToMany(cascade={CascadeType.PERSIST }) @JoinTable(name = "ACS_PRODUCTS_MODULE", joinColumns = { @JoinColumn(name = "FK_PRODUCT_ID") }, inverseJoinColumns = { @JoinColumn(name = "FK_SALES_MODULE_ID") }) @OrderBy("id") public Set<SalesModule> getSalesModuels() { return salesModuels; } public void setSalesModuels(Set<SalesModule> salesModuels) { this.salesModuels = salesModuels; } @Override public String toString() { return ToStringBuilder.reflectionToString(this); } @Column(name="FK_BIZSYSTEM_ID") public Long getSystemId() { return systemId; } public void setSystemId(Long systemId) { this.systemId = systemId; } }