package io.loli.sc.server.entity; import java.io.Serializable; import java.util.Date; import javax.persistence.CascadeType; 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.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.OneToOne; import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; import com.fasterxml.jackson.annotation.JsonIgnore; @Entity @Table(name = "uploaded_image") @NamedQueries(value = { @NamedQuery(name = "UploadedImage.listByUId", query = "SELECT u FROM UploadedImage u WHERE u.user.id=:u_id and u.delFlag=false order by u.date desc"), @NamedQuery(name = "UploadedImage.listByUIdAndFileName", query = "SELECT u FROM UploadedImage u WHERE u.originName like :file_name and u.user.id=:u_id and u.delFlag=false order by u.date desc"), @NamedQuery(name = "UploadedImage.listByUIdAndFileNameAndTag", query = "SELECT u FROM UploadedImage u WHERE u.originName like :file_name and u.user.id=:u_id and u.delFlag=false and u.tag.id=:tag_id order by u.date desc") }) public class UploadedImage implements Serializable { private static final long serialVersionUID = 1398371509051853854L; @Id @GeneratedValue(strategy = GenerationType.AUTO) private int id; @JoinColumn @ManyToOne(cascade = CascadeType.REFRESH) @JsonIgnore private User user; @ManyToOne @JoinColumn(name = "gallery_id") private Gallery gallery; @Column @Temporal(TemporalType.TIMESTAMP) private Date date; private String ip; private String ua; @Column(name = "content_type") private String contentType; @Column(name = "generated_code") private String generatedCode; public String getGeneratedCode() { return generatedCode; } public void setGeneratedCode(String generatedCode) { this.generatedCode = generatedCode; } @ManyToOne @JoinColumn(name = "tag_id") @JsonIgnore private Tag tag; /** * 图片描述显示在alt标签中 */ @Column private String description; /** * 图片存储在哪里 */ @OneToOne @JoinColumn(name = "bucket_id") @JsonIgnore private StorageBucket storageBucket; /** * 原始名字显示在title标签中 */ @Column(name = "origin_name") private String originName; @Column(name = "redirect_code") private String redirectCode; @Column @JsonIgnore private String path; @Column(name = "small_name") private String smallName; @Column(name = "small_square_name") private String smallSquareName; @Column(name = "middle_name") private String middleName; @Column(name = "large_name") private String largeName; @Column(name = "generated_name") private String generatedName; @Column(name = "internal_path") private String internalPath; @Column(name = "del_flag") private Boolean delFlag = false; @Column private Boolean share = false; public int getId() { return id; } public void setId(int id) { this.id = id; } public Date getDate() { return date; } public void setDate(Date date) { this.date = date; } public String getDesc() { return description; } public void setDesc(String desc) { this.description = desc; } public String getOriginName() { return originName; } public void setOriginName(String originName) { this.originName = originName; } public User getUser() { return user; } public void setUser(User user) { this.user = user; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getPath() { return path; } public void setPath(String path) { this.path = path; } public StorageBucket getStorageBucket() { return storageBucket; } public void setStorageBucket(StorageBucket storageBucket) { this.storageBucket = storageBucket; } @JsonIgnore public Boolean getDelFlag() { return delFlag; } public void setDelFlag(Boolean delFlag) { this.delFlag = delFlag; } @JsonIgnore public String getIp() { return ip; } public void setIp(String ip) { this.ip = ip; } @JsonIgnore public String getUa() { return ua; } public void setUa(String ua) { this.ua = ua; } public String getRedirectCode() { return redirectCode; } public void setRedirectCode(String redirectCode) { this.redirectCode = redirectCode; } public String getGeneratedName() { return generatedName; } public void setGeneratedName(String generatedName) { this.generatedName = generatedName; } public String getInternalPath() { return internalPath; } public void setInternalPath(String internalPath) { this.internalPath = internalPath; } public Tag getTag() { return tag; } public void setTag(Tag tag) { this.tag = tag; } public String getContentType() { return contentType; } public void setContentType(String contentType) { this.contentType = contentType; } public Boolean getShare() { return share; } public void setShare(Boolean share) { this.share = share; } public String getSmallName() { return smallName; } public void setSmallName(String smallName) { this.smallName = smallName; } public String getSmallSquareName() { return smallSquareName; } public void setSmallSquareName(String smallSquareName) { this.smallSquareName = smallSquareName; } public String getMiddleName() { return middleName; } public void setMiddleName(String middleName) { this.middleName = middleName; } public String getLargeName() { return largeName; } public void setLargeName(String largeName) { this.largeName = largeName; } public Gallery getGallery() { return gallery; } public void setGallery(Gallery gallery) { this.gallery = gallery; } }