package com.kingschan.blog.po;
// default package
import java.sql.Timestamp;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.annotations.GenericGenerator;
@Entity
@Table(name="blog_category")
@Cache(usage=CacheConcurrencyStrategy.READ_WRITE)
public class Category implements java.io.Serializable {
// Fields
/**
*
*/
private static final long serialVersionUID = 1L;
private String id;
private User user;
private String categoryName;
private String categoryRemark;
private String categoryWebsiteid;
private Integer categoryPosition;
private Timestamp categoryDatetime;
private Set<Article> articles = new HashSet<Article>(0);
// Constructors
/** default constructor */
public Category() {
}
/** minimal constructor */
public Category(User user, String categoryName, String categoryWebsiteid, Integer categoryPosition, Timestamp categoryDatetime) {
this.user = user;
this.categoryName = categoryName;
this.categoryWebsiteid = categoryWebsiteid;
this.categoryPosition = categoryPosition;
this.categoryDatetime = categoryDatetime;
}
/** full constructor */
public Category(User user, String categoryName, String categoryRemark, String categoryWebsiteid, Integer categoryPosition, Timestamp categoryDatetime, Set<Article> articles) {
this.user = user;
this.categoryName = categoryName;
this.categoryRemark = categoryRemark;
this.categoryWebsiteid = categoryWebsiteid;
this.categoryPosition = categoryPosition;
this.categoryDatetime = categoryDatetime;
this.articles = articles;
}
// Property accessors
@GenericGenerator(name="generator", strategy="uuid.hex")@Id @GeneratedValue(generator="generator")
@Column(name="id", unique=true, nullable=false, length=32)
public String getId() {
return this.id;
}
public void setId(String id) {
this.id = id;
}
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="category_creator", nullable=false)
public User getUser() {
return this.user;
}
public void setUser(User user) {
this.user = user;
}
@Column(name="category_name", nullable=false, length=60)
public String getCategoryName() {
return this.categoryName;
}
public void setCategoryName(String categoryName) {
this.categoryName = categoryName;
}
@Column(name="category_remark", length=100)
public String getCategoryRemark() {
return this.categoryRemark;
}
public void setCategoryRemark(String categoryRemark) {
this.categoryRemark = categoryRemark;
}
@Column(name="category_websiteid", nullable=false, length=32)
public String getCategoryWebsiteid() {
return this.categoryWebsiteid;
}
public void setCategoryWebsiteid(String categoryWebsiteid) {
this.categoryWebsiteid = categoryWebsiteid;
}
@Column(name="category_position", nullable=false)
public Integer getCategoryPosition() {
return this.categoryPosition;
}
public void setCategoryPosition(Integer categoryPosition) {
this.categoryPosition = categoryPosition;
}
@Column(name="category_datetime", nullable=false, length=19)
public Timestamp getCategoryDatetime() {
return this.categoryDatetime;
}
public void setCategoryDatetime(Timestamp categoryDatetime) {
this.categoryDatetime = categoryDatetime;
}
@OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="category")
public Set<Article> getArticles() {
return this.articles;
}
public void setArticles(Set<Article> articles) {
this.articles = articles;
}
}