blob: 251d6d81b092230e881199efc25bcdd2568a0011 [file] [log] [blame]
Matthias Andreas Benkard4982faa2021-02-24 06:45:39 +01001package eu.mulk.demos.blog;
2
3import io.quarkus.hibernate.orm.panache.PanacheEntity;
4import java.time.Instant;
Matthias Andreas Benkard0c009e82021-02-26 07:23:27 +01005import javax.json.bind.annotation.JsonbTransient;
6import javax.persistence.Column;
Matthias Andreas Benkard4982faa2021-02-24 06:45:39 +01007import javax.persistence.Entity;
Matthias Andreas Benkard0c009e82021-02-26 07:23:27 +01008import javax.persistence.ManyToOne;
Matthias Andreas Benkard4982faa2021-02-24 06:45:39 +01009
10@Entity
11public class Comment extends PanacheEntity {
12
13 public String authorName;
Matthias Andreas Benkard0c009e82021-02-26 07:23:27 +010014
Matthias Andreas Benkard4982faa2021-02-24 06:45:39 +010015 public Instant publicationDate;
Matthias Andreas Benkard0c009e82021-02-26 07:23:27 +010016
17 @Column(columnDefinition = "TEXT")
Matthias Andreas Benkard4982faa2021-02-24 06:45:39 +010018 public String text;
Matthias Andreas Benkard0c009e82021-02-26 07:23:27 +010019
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 Benkard4982faa2021-02-24 06:45:39 +010032}