added columns for tracking created/updated

This commit is contained in:
Sheldan
2020-05-16 00:21:53 +02:00
parent 82c63d4825
commit ddb540ccfe
26 changed files with 385 additions and 7 deletions

View File

@@ -7,6 +7,7 @@ import lombok.*;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import javax.persistence.*;
import java.time.Instant;
import java.util.Objects;
@Entity
@@ -57,6 +58,14 @@ public class EmbeddedMessage {
@Id
private Long embeddingMessageId;
@Column(name = "created")
private Instant created;
@PrePersist
private void onInsert() {
this.created = Instant.now();
}
@Override
public boolean equals(Object o) {
if (this == o) return true;

View File

@@ -44,9 +44,22 @@ public class Reminder {
@JoinColumn(name = "serverId", nullable = false)
private AServer server;
@Getter
@Column(name = "created")
private Instant reminderDate;
@PrePersist
private void onInsert() {
this.reminderDate = Instant.now();
}
@Column(name = "updated")
private Instant updated;
@PreUpdate
private void onUpdate() {
this.updated = Instant.now();
}
@Getter
private Instant targetDate;

View File

@@ -46,6 +46,22 @@ public class StarboardPost {
@Transient
private Integer reactionCount;
@Column(name = "created")
private Instant created;
@PrePersist
private void onInsert() {
this.created = Instant.now();
}
@Column(name = "updated")
private Instant updated;
@PreUpdate
private void onUpdate() {
this.updated = Instant.now();
}
@PostLoad
private void onLoad() {
this.reactionCount = this.reactions.size();

View File

@@ -5,6 +5,7 @@ import lombok.*;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import javax.persistence.*;
import java.time.Instant;
import java.util.Objects;
@Entity
@@ -31,6 +32,14 @@ public class StarboardPostReaction {
@JoinColumn(name = "post_id")
private StarboardPost starboardPost;
@Column(name = "created")
private Instant created;
@PrePersist
private void onInsert() {
this.created = Instant.now();
}
@Override
public boolean equals(Object o) {
if (this == o) return true;

View File

@@ -50,6 +50,22 @@ public class Suggestion {
@Enumerated(EnumType.STRING)
private SuggestionState state;
@Column(name = "created")
private Instant created;
@PrePersist
private void onInsert() {
this.created = Instant.now();
}
@Column(name = "updated")
private Instant updated;
@PreUpdate
private void onUpdate() {
this.updated = Instant.now();
}
@Override
public boolean equals(Object o) {
if (this == o) return true;