Matthias Andreas Benkard | 4982faa | 2021-02-24 06:45:39 +0100 | [diff] [blame] | 1 | package eu.mulk.demos.blog; |
| 2 | |
| 3 | import io.quarkus.hibernate.orm.panache.PanacheEntity; |
| 4 | import java.time.Instant; |
Matthias Andreas Benkard | 0c009e8 | 2021-02-26 07:23:27 +0100 | [diff] [blame^] | 5 | import javax.json.bind.annotation.JsonbTransient; |
| 6 | import javax.persistence.Column; |
Matthias Andreas Benkard | 4982faa | 2021-02-24 06:45:39 +0100 | [diff] [blame] | 7 | import javax.persistence.Entity; |
Matthias Andreas Benkard | 0c009e8 | 2021-02-26 07:23:27 +0100 | [diff] [blame^] | 8 | import javax.persistence.ManyToOne; |
Matthias Andreas Benkard | 4982faa | 2021-02-24 06:45:39 +0100 | [diff] [blame] | 9 | |
| 10 | @Entity |
| 11 | public class Comment extends PanacheEntity { |
| 12 | |
| 13 | public String authorName; |
Matthias Andreas Benkard | 0c009e8 | 2021-02-26 07:23:27 +0100 | [diff] [blame^] | 14 | |
Matthias Andreas Benkard | 4982faa | 2021-02-24 06:45:39 +0100 | [diff] [blame] | 15 | public Instant publicationDate; |
Matthias Andreas Benkard | 0c009e8 | 2021-02-26 07:23:27 +0100 | [diff] [blame^] | 16 | |
| 17 | @Column(columnDefinition = "TEXT") |
Matthias Andreas Benkard | 4982faa | 2021-02-24 06:45:39 +0100 | [diff] [blame] | 18 | public String text; |
Matthias Andreas Benkard | 0c009e8 | 2021-02-26 07:23:27 +0100 | [diff] [blame^] | 19 | |
| 20 | @JsonbTransient |
| 21 | @ManyToOne |
| 22 | public Post post; |
| 23 | |
| 24 | public static Comment create(Post post, String authorName, String text) { |
| 25 | var c = new Comment(); |
| 26 | c.authorName = authorName; |
| 27 | c.publicationDate = Instant.now(); |
| 28 | c.text = text; |
| 29 | c.post = post; |
| 30 | return c; |
| 31 | } |
Matthias Andreas Benkard | 4982faa | 2021-02-24 06:45:39 +0100 | [diff] [blame] | 32 | } |