package org.xmx0632.deliciousfruit.entity; import java.util.List; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.OneToMany; import javax.persistence.Table; import javax.validation.constraints.NotNull; import org.apache.commons.lang3.builder.ToStringBuilder; import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; import com.google.common.collect.Lists; /** * FruitSubcategory. */ @Entity @Table(name = "tbl_fruit_subcategory") @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) public class FruitSubcategory extends IdEntity { private String fruitType; private String name; private FruitCategory fruitCategory; public FruitSubcategory() { } private List<FruitProduct> fruitProducts = Lists.newArrayList(); @OneToMany(fetch = FetchType.LAZY, mappedBy = "fruitSubcategory") public List<FruitProduct> getFruitProducts() { return fruitProducts; } public void setFruitProducts(List<FruitProduct> fruitProducts) { this.fruitProducts = fruitProducts; } @NotNull public String getFruitType() { return this.fruitType; } public void setFruitType(String fruitType) { this.fruitType = fruitType; } @NotNull public String getName() { return name; } public void setName(String name) { this.name = name; } @ManyToOne @JoinColumn(name = "category_id") public FruitCategory getFruitCategory() { return fruitCategory; } public void setFruitCategory(FruitCategory fruitCategory) { this.fruitCategory = fruitCategory; } @Override public String toString() { return ToStringBuilder.reflectionToString(this); } }