aboutsummaryrefslogtreecommitdiff
path: root/juick-server/src/main/java/com/juick/service/data/entities/MessageEntity.java
diff options
context:
space:
mode:
Diffstat (limited to 'juick-server/src/main/java/com/juick/service/data/entities/MessageEntity.java')
-rw-r--r--juick-server/src/main/java/com/juick/service/data/entities/MessageEntity.java81
1 files changed, 81 insertions, 0 deletions
diff --git a/juick-server/src/main/java/com/juick/service/data/entities/MessageEntity.java b/juick-server/src/main/java/com/juick/service/data/entities/MessageEntity.java
new file mode 100644
index 00000000..fdbdbdc0
--- /dev/null
+++ b/juick-server/src/main/java/com/juick/service/data/entities/MessageEntity.java
@@ -0,0 +1,81 @@
+package com.juick.service.data.entities;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.time.Instant;
+import java.util.HashSet;
+import java.util.Set;
+
+@Entity
+@Table(name = "messages")
+public class MessageEntity implements Serializable {
+ @Id
+ @Column(name = "message_id", columnDefinition = "int(10) unsigned auto_increment", nullable = false, unique = true)
+ @GeneratedValue(strategy = GenerationType.AUTO)
+ private Integer id;
+ @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, mappedBy = "message")
+ private Set<TagEntity> tags = new HashSet<>();
+ @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, mappedBy = "message")
+ private Set<ReplyEntity> replies = new HashSet<>();
+
+ @OneToOne(cascade = CascadeType.ALL, mappedBy = "message")
+ private TextEntity textEntity;
+
+ @ManyToOne(cascade = CascadeType.ALL)
+ private UserEntity user;
+
+ @Column(name = "ts")
+ private Instant ts;
+
+ public MessageEntity() {
+ this.textEntity = new TextEntity(this);
+ }
+
+ public Integer getId() {
+ return id;
+ }
+
+ public void setId(Integer id) {
+ this.id = id;
+ }
+
+ public Set<TagEntity> getTags() {
+ return tags;
+ }
+
+ public void setTags(Set<TagEntity> tags) {
+ this.tags = tags;
+ }
+
+ public Set<ReplyEntity> getReplies() {
+ return replies;
+ }
+
+ public void setReplies(Set<ReplyEntity> replies) {
+ this.replies = replies;
+ }
+
+ public String getText() {
+ return textEntity.getText();
+ }
+
+ public void setText(String text) {
+ this.textEntity.setText(text);
+ }
+
+ public UserEntity getUser() {
+ return user;
+ }
+
+ public void setUser(UserEntity user) {
+ this.user = user;
+ }
+
+ public Instant getTimestamp() {
+ return ts;
+ }
+
+ public void setTimestamp(Instant ts) {
+ this.ts = ts;
+ }
+}