package com.fang.bbks.modules.sys.entity;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.validation.constraints.Size;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.annotations.NotFound;
import org.hibernate.annotations.NotFoundAction;
import org.hibernate.validator.constraints.NotBlank;
import com.fang.bbks.common.constant.ApplicationCanstant;
import com.fang.bbks.common.persistence.BaseEntity;
import com.fang.bbks.modules.sys.entity.User;
/**
* @Intro 书评[book]
* @author Lee
* @Date 2013-8-4
*/
@Table(name = "TB_COMMENT")
@Entity
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class Comment extends BaseEntity{
private static final long serialVersionUID = 1L;
private Long id; // 编号
private String module; // 内容模型(book:图书;user:用户;picture:图片;download:下载)
private Long contentId; // 归属分类内容的编号(Book.id、User.id、Photo.id、Download.id)
private String title; // 归属分类内容的标题(Book.title、Photo.title、Download.title)
private String content; // 评论内容
private Long uid; //评论人id
private String name; // 评论姓名
private String avatar; // 评论头像
private String ip; // 评论IP
private Date createDate;// 评论时间
private Long auditUser; // 审核人
private Date auditDate; // 审核时间
private String status; // 删除标记(0:发布;1:作废;2:审核;)
public Comment() {
this.createDate = new Date();
this.status = STATUS_RELEASE;
}
public Comment(Long id){
this();
this.id = id;
}
public Comment(String module, Long contentId, String title, String content,
Long uid,String name) {
super();
this.module = module;
this.contentId = contentId;
this.title = title;
this.content = content;
this.name = name;
this.uid = uid;
}
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getModule() {
return module;
}
public void setModule(String module) {
this.module = module;
}
public Long getContentId() {
return contentId;
}
public void setContentId(Long contentId) {
this.contentId = contentId;
}
@NotBlank
@Size(min=0, max=255)
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
@NotBlank
@Size(min=0, max=255)
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
@NotBlank
@Size(min=0, max=100)
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
// @ManyToOne
// @JoinColumn(name="audit_user_id")
// @NotFound(action = NotFoundAction.IGNORE)
// @Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
// public User getAuditUser() {
// return auditUser;
// }
//
// public void setAuditUser(User auditUser) {
// this.auditUser = auditUser;
// }
public Date getAuditDate() {
return auditDate;
}
public Long getAuditUser() {
return auditUser;
}
public void setAuditUser(Long auditUser) {
this.auditUser = auditUser;
}
public void setAuditDate(Date auditDate) {
this.auditDate = auditDate;
}
public String getIp() {
return ip;
}
public void setIp(String ip) {
this.ip = ip;
}
public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
@Size(min=0, max=1)
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getAvatar() {
return avatar;
}
public void setAvatar(String avatar) {
this.avatar = avatar;
}
public Long getUid() {
return uid;
}
public void setUid(Long uid) {
this.uid = uid;
}
@Override
public String toString() {
return "Comment [id=" + id + ", module=" + module + ", contentId="
+ contentId + ", title=" + title + ", content=" + content
+ ", uid=" + uid + ", name=" + name + ", avatar=" + avatar
+ ", ip=" + ip + ", createDate=" + createDate + ", auditUser="
+ auditUser + ", auditDate=" + auditDate + ", status=" + status
+ "]";
}
}