ProductGroup.java
package com.tradecloud.domain.model.hfcmanagement;
import com.tradecloud.common.base.PersistenceBase;
import com.tradecloud.domain.item.Product;
import org.hibernate.annotations.NaturalId;
import javax.persistence.*;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
import java.util.ArrayList;
import java.util.List;
@Entity
@Table(name = "productgroup", uniqueConstraints = {@UniqueConstraint(columnNames = {"reference"})})
@Access(AccessType.FIELD)
@XmlAccessorType(XmlAccessType.FIELD)
@XmlRootElement(name = "productgroup")
public class ProductGroup extends PersistenceBase {
/**
*
*/
private static final long serialVersionUID = 1L;
@NaturalId
private String reference;
private String description;
@OneToMany
@XmlTransient
private List<Product> products = new ArrayList<Product>();
@OneToOne
@XmlTransient
private Product defaultProduct;
public String getReference() {
return reference;
}
public void setReference(String reference) {
this.reference = reference;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public List<Product> getProducts() {
return products;
}
public void setProducts(List<Product> products) {
this.products = products;
}
@Override
public String toString() {
return this.getDescription() + " [id: " + getId() + ", reference: " + getReference() + "]";
}
public Product getDefaultProduct() {
return defaultProduct;
}
public void setDefaultProduct(Product defaultProduct) {
this.defaultProduct = defaultProduct;
}
}