Spalte in JoinTable hinzufügen

RezaScript

Bekanntes Mitglied
Hallo,

in einer Entity (Spring Boot) erstelle ich 2 Tabellen: comments und comment_unreads

Java:
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Comments {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private Long quotationId;

    @ManyToOne
    @JoinColumn(name = "uid", referencedColumnName = "uid", nullable = false)
    private UserProfile user;

    @Size(min = 5, max = 300)
    private String comment;

    @ManyToMany(fetch = FetchType.EAGER)
    @JoinTable(name = "comment_likes", joinColumns = @JoinColumn(name = "comment_id"), inverseJoinColumns = @JoinColumn(name = "user_id"))
    private Set<UserProfile> likedBy = new HashSet<>();

    @ManyToMany(fetch = FetchType.EAGER)
    @JoinTable(name = "comment_unreads", joinColumns = @JoinColumn(name = "comment_id"), inverseJoinColumns = @JoinColumn(name = "user_profile_id"))
    private Set<UserProfile> readBy = new HashSet<>();

    @CreationTimestamp
    private LocalDateTime createdAt;

    // Update read status
    public void markAsReadBy(UserProfile user) {
        this.readBy.remove(user);
    }

    // Method to populate users who have commented on the same quotation
    public void populateReadBy(Set<UserProfile> allUsersForQuotation, Long uid) {
        allUsersForQuotation.forEach(user -> {
            // Exclude the user who created the comment
            if (user.getUser().getUid().equals(uid)) {
                this.readBy.remove(user);
            }
            else {
                this.readBy.add(user);
            }
        });
    }
}

Sobald ein Kommentar gelesen wird, wird der Eintrag aus der Tabelle comment_unreads gelöscht. Ich hätte nun gerne ein Script, das jede Stunde aufgerufen wird. Alle User, die in der Tabelle comment_unreads enthalten sind, sollen eine E-Mail erhalten, dass sie noch ungelesene Kommentare haben. Ich möchte aber nicht, dass der User jede Stunde diese E-Mail erhält. Die Tabelle comment_unreads enthält die Spalten comment_id und user_profile_id, aber wie füge ich eine neue Spalte (email_sent) hinzu?
 

Oben