root | ff0769a | 2025-05-18 17:24:41 +0000 | [diff] [blame] | 1 | package entity; |
root | cd43656 | 2025-05-08 14:09:19 +0000 | [diff] [blame] | 2 | |
root | 927f153 | 2025-05-09 05:33:32 +0000 | [diff] [blame] | 3 | import java.util.Date; |
rhj | 5b69b7e | 2025-06-07 01:28:08 +0800 | [diff] [blame^] | 4 | import java.util.List; |
root | 927f153 | 2025-05-09 05:33:32 +0000 | [diff] [blame] | 5 | |
| 6 | import javax.persistence.Column; |
| 7 | import javax.persistence.Entity; |
| 8 | import javax.persistence.ForeignKey; |
| 9 | import javax.persistence.Id; |
| 10 | import javax.persistence.JoinColumn; |
| 11 | import javax.persistence.Lob; |
| 12 | import javax.persistence.ManyToOne; |
| 13 | import javax.persistence.Table; |
| 14 | import javax.persistence.Temporal; |
| 15 | import javax.persistence.TemporalType; |
rhj | 46f62c4 | 2025-06-06 23:24:10 +0800 | [diff] [blame] | 16 | import com.querydsl.core.annotations.QueryEntity; |
rhj | 5b69b7e | 2025-06-07 01:28:08 +0800 | [diff] [blame^] | 17 | import javax.persistence.OneToMany; |
| 18 | import javax.persistence.CascadeType; |
| 19 | import javax.persistence.FetchType; |
root | 927f153 | 2025-05-09 05:33:32 +0000 | [diff] [blame] | 20 | |
rhj | 46f62c4 | 2025-06-06 23:24:10 +0800 | [diff] [blame] | 21 | @QueryEntity |
root | 927f153 | 2025-05-09 05:33:32 +0000 | [diff] [blame] | 22 | @Entity |
| 23 | @Table(name = "Post") |
root | cd43656 | 2025-05-08 14:09:19 +0000 | [diff] [blame] | 24 | public class Post { |
root | 927f153 | 2025-05-09 05:33:32 +0000 | [diff] [blame] | 25 | @Id |
| 26 | @Column(name = "post_id", length = 64, nullable = false) |
root | 4b6a76b | 2025-05-09 04:57:59 +0000 | [diff] [blame] | 27 | public String postid; |
root | 927f153 | 2025-05-09 05:33:32 +0000 | [diff] [blame] | 28 | |
| 29 | @Column(name = "title", length = 255, nullable = false) |
root | 4b6a76b | 2025-05-09 04:57:59 +0000 | [diff] [blame] | 30 | public String posttitle; |
root | 927f153 | 2025-05-09 05:33:32 +0000 | [diff] [blame] | 31 | |
| 32 | @Lob |
| 33 | @Column(name = "content", nullable = false) |
root | 4b6a76b | 2025-05-09 04:57:59 +0000 | [diff] [blame] | 34 | public String postcontent; |
root | 927f153 | 2025-05-09 05:33:32 +0000 | [diff] [blame] | 35 | |
| 36 | @Column(name = "author_id", length = 36, nullable = false) |
root | 4b6a76b | 2025-05-09 04:57:59 +0000 | [diff] [blame] | 37 | public String postuserid; |
root | 927f153 | 2025-05-09 05:33:32 +0000 | [diff] [blame] | 38 | |
| 39 | @ManyToOne(optional = false) |
| 40 | @JoinColumn(name = "author_id", referencedColumnName = "user_id", foreignKey = @ForeignKey(name = "fk_post_user"), insertable = false, updatable = false) |
| 41 | public User author; |
rhj | 5b69b7e | 2025-06-07 01:28:08 +0800 | [diff] [blame^] | 42 | |
root | 927f153 | 2025-05-09 05:33:32 +0000 | [diff] [blame] | 43 | @Column(name = "created_at", nullable = false) |
| 44 | @Temporal(TemporalType.TIMESTAMP) |
| 45 | public Date posttime; |
| 46 | |
| 47 | @Column(name = "reply_count", nullable = false) |
| 48 | public int replytime; |
| 49 | |
| 50 | @Column(name = "view_count", nullable = false) |
| 51 | public int readtime; |
root | cd43656 | 2025-05-08 14:09:19 +0000 | [diff] [blame] | 52 | } |