package abstractClasses; import enumeration.Gender; import jakarta.persistence.*; import java.util.Objects; @MappedSuperclass @Table(name = "Hochschulmitglied") public abstract class UniversityMember { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "ID") private int id; @Column(name = "Geschlecht") private String gender; @Column(name = "Vorname") private String firstName; @Column(name = "Nachname") private String lastName; @Column(name = "Wohnort") private String placeOfResidence; @Column(name = "Geburtsort") private String birthPlace; @Column(name = "Hochschul E-Mail") private String officialEmail; @Column(name = "Private E-Mail") private String privateEmail; @Column(name = "Angemeldet") private Boolean isSignedUpForCourse; protected UniversityMember() { } protected UniversityMember(int id, String gender, String firstName, String lastName, String placeOfResidence, String birthPlace, String officialEmail, String privateEmail, Boolean isSignedUpForCourse) { this.id = id; this.gender = gender; this.firstName = firstName; this.lastName = lastName; this.placeOfResidence = placeOfResidence; this.birthPlace = birthPlace; this.officialEmail = officialEmail; this.privateEmail = privateEmail; this.isSignedUpForCourse = isSignedUpForCourse; } @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; UniversityMember that = (UniversityMember) o; return id == that.id; } @Override public int hashCode() { return Objects.hash(id); } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getGender() { return gender; } public void setGender(String gender) { this.gender = gender; } public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public String getPlaceOfResidence() { return placeOfResidence; } public void setPlaceOfResidence(String placeOfResidence) { this.placeOfResidence = placeOfResidence; } public String getBirthPlace() { return birthPlace; } public void setBirthPlace(String birthPlace) { this.birthPlace = birthPlace; } public String getOfficialEmail() { return officialEmail; } public void setOfficialEmail(String officialEmail) { this.officialEmail = officialEmail; } public String getPrivateEmail() { return privateEmail; } public void setPrivateEmail(String privateEmail) { this.privateEmail = privateEmail; } public Boolean getSignedUpForCourse() { return isSignedUpForCourse; } public void setSignedUpForCourse(Boolean signedUpForCourse) { isSignedUpForCourse = signedUpForCourse; } }