package org.xmx0632.deliciousfruit.entity; import java.util.List; import javax.persistence.CascadeType; import javax.persistence.Entity; import javax.persistence.FetchType; 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; /** * FruitCategory. */ @Entity @Table(name = "tbl_fruit_category") @Cache(usage = CacheConcurrencyStrategy.READ_WRITE) public class FruitCategory extends IdEntity { private String name; private String iconUrl; private List<FruitSubcategory> fruitSubcategoryList = Lists.newArrayList(); public FruitCategory() { } @NotNull public String getName() { return this.name; } public void setName(String name) { this.name = name; } @NotNull public String getIconUrl() { return this.iconUrl; } public void setIconUrl(String iconUrl) { this.iconUrl = iconUrl; } @OneToMany(fetch = FetchType.LAZY, mappedBy = "fruitCategory", cascade = CascadeType.DETACH) public List<FruitSubcategory> getFruitSubcategoryList() { return fruitSubcategoryList; } public void setFruitSubcategoryList( List<FruitSubcategory> fruitSubcategoryList) { this.fruitSubcategoryList = fruitSubcategoryList; } @Override public String toString() { return ToStringBuilder.reflectionToString(this); } }