Web implementation of the Gourmet Recipe Manager
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

278 lines
5.7 KiB

package com.mousetech.gourmetj.persistence.model;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import javax.persistence.*;
/**
* The persistent class for the "recipe" database table.
* Persisted by @see RecipeDAO
*/
@Entity
@Table(name = "recipe")
@NamedQueries({
@NamedQuery(name = "Recipe.findAll", query = "SELECT r FROM Recipe r"),
@NamedQuery(name = "Recipe.findByTitle", query = "SELECT r FROM Recipe r WHERE r.title LIKE concat('%', :searchText,'%')") })
@NamedNativeQuery(name = "Recipe.findCusines", query = "SELECT DISTINCT cuisine from recipe"
+ " where cuisine is not null and cuisine <> ''"
+ " ORDER BY cuisine ASC")
@NamedEntityGraph(name = "Recipe.findWorkingSet", attributeNodes = {
@NamedAttributeNode(value = "categories"),
@NamedAttributeNode(value = "ingredientHash", subgraph = "subgraph.shopcat"),
@NamedAttributeNode(value = "ingredientHash", subgraph = "subgraph.pantry") }, subgraphs = {
@NamedSubgraph(name = "subgraph.shopcat", attributeNodes = @NamedAttributeNode(value = "shopCat")),
@NamedSubgraph(name = "subgraph.pantry", attributeNodes = @NamedAttributeNode(value = "pantry")) })
public class Recipe implements Serializable {
private static final long serialVersionUID = 1L;
@Column(name = "cooktime")
private Integer cooktime;
@Column(name = "cuisine")
private String cuisine;
@Column(name = "deleted")
private Integer deleted;
@Column(name = "description")
private String description;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
@Column(name = "image")
private byte[] image;
// Actual Ingredient_hash field is VARCHAR(32) - UUID???
@OneToMany(fetch = FetchType.LAZY, mappedBy = "recipe", cascade = CascadeType.ALL, orphanRemoval = true)
private List<Ingredient> ingredientHash =
new ArrayList<Ingredient>();
@Column(name = "instructions")
private String instructions;
@Column(name = "last_modified")
private Integer lastModified;
@Column(name = "link")
private String link;
@Column(name = "modifications")
private String modifications;
@Column(name = "preptime")
private Integer preptime;
@Column(name = "rating")
private Integer rating;
@Column(name = "recipe_hash")
private String recipeHash;
@Column(name = "servings")
private Double servings;
@Column(name = "source")
private String source;
@Column(name = "thumb")
private byte[] thumb;
@Column(name = "title")
private String title;
@Column(name = "yield_unit")
private String yieldUnit;
@Column(name = "yields")
private Double yields;
@OneToMany(fetch = FetchType.EAGER, mappedBy = "recipe", cascade = CascadeType.ALL, orphanRemoval = true)
private Set<Category> categories = new HashSet<Category>();
/**
* @param categories the categories to set
*/
public void setCategories(Set<Category> categories) {
this.categories = categories;
}
public Recipe() {
}
public Integer getCooktime() {
return this.cooktime;
}
public void setCooktime(Integer cooktime) {
this.cooktime = cooktime;
}
public String getCuisine() {
return this.cuisine;
}
public void setCuisine(String cuisine) {
this.cuisine = cuisine;
}
public Integer getDeleted() {
return this.deleted;
}
public void setDeleted(Integer deleted) {
this.deleted = deleted;
}
public String getDescription() {
return this.description;
}
public void setDescription(String description) {
this.description = description;
}
public Long getId() {
return this.id;
}
public void setId(Long id) {
this.id = id;
}
public byte[] getImage() {
return this.image;
}
public void setImage(byte[] image) {
this.image = image;
}
public List<Ingredient> getIngredientHash() {
return this.ingredientHash;
}
public void setIngredientHash(
List<Ingredient> ingredientHash) {
this.ingredientHash = ingredientHash;
}
public String getInstructions() {
return this.instructions;
}
public void setInstructions(String instructions) {
this.instructions = instructions;
}
public Integer getLastModified() {
return this.lastModified;
}
public void setLastModified(Integer lastModified) {
this.lastModified = lastModified;
}
public String getLink() {
return this.link;
}
public void setLink(String link) {
this.link = link;
}
public String getModifications() {
return this.modifications;
}
public void setModifications(String modifications) {
this.modifications = modifications;
}
public Integer getPreptime() {
return this.preptime;
}
public void setPreptime(Integer preptime) {
this.preptime = preptime;
}
public Integer getRating() {
return this.rating;
}
public void setRating(Integer rating) {
this.rating = rating;
}
public String getRecipeHash() {
return this.recipeHash;
}
public void setRecipeHash(String recipeHash) {
this.recipeHash = recipeHash;
}
public Double getServings() {
return this.servings;
}
public void setServings(Double servings) {
this.servings = servings;
}
public String getSource() {
return this.source;
}
public void setSource(String source) {
this.source = source;
}
public byte[] getThumb() {
return this.thumb;
}
public void setThumb(byte[] thumb) {
this.thumb = thumb;
}
public String getTitle() {
return this.title;
}
public void setTitle(String title) {
this.title = title;
}
public String getYieldUnit() {
return this.yieldUnit;
}
public void String(String yieldUnit) {
this.yieldUnit = yieldUnit;
}
public Double getYields() {
return this.yields;
}
public void setYields(Double yields) {
this.yields = yields;
}
@Override
public String toString() {
return "Recipe #" + this.getId() + " " + this.getTitle();
}
public Set<Category> getCategories() {
return this.categories;
}
}