package classes; import jakarta.persistence.*; import java.time.LocalDateTime; import java.util.Objects; @Entity @Table(name = "Kursanmeldung") public class Enrollment { @Id @Column(name = "ID") private int id; @ManyToOne @JoinColumn(name = "Matrikelnummer") Student student; @ManyToOne @JoinColumn(name = "Kursnummer") Course course; @Column(name = "Datum der Anmeldung") private LocalDateTime enrollmentDate; @Column(name = "Note") private double grade; public Enrollment() { } public Enrollment(Student student, Course course, LocalDateTime enrollmentDate) { this.student = student; this.course = course; this.enrollmentDate = enrollmentDate; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Enrollment that = (Enrollment) o; return student == that.student && course == that.course; } @Override public int hashCode() { return Objects.hash(student, course); } public Student getStudent() { return student; } public void setStudent(Student student) { this.student = student; } public Course getCourse() { return course; } public void setCourse(Course course) { this.course = course; } public LocalDateTime getEnrollmentDate() { return enrollmentDate; } public void setEnrollmentDate(LocalDateTime enrollmentDate) { this.enrollmentDate = enrollmentDate; } public double getGrade() { return grade; } public void setGrade(double grade) { this.grade = grade; } }