1 package dst.ass1.jpa.model.impl;
3 import dst.ass1.jpa.model.IEnrollment;
4 import dst.ass1.jpa.model.IMembership;
5 import dst.ass1.jpa.model.IParticipant;
6 import dst.ass1.jpa.util.Constants;
8 import javax.persistence.*;
9 import java.util.ArrayList;
10 import java.util.Collection;
13 @Table(name = Constants.T_PARTICIPANT, uniqueConstraints = {@UniqueConstraint(columnNames = {Constants.M_PARTICIPANT_ACCOUNT, Constants.M_PARTICIPANT_BANK_CODE})})
14 public class Participant extends Person implements IParticipant {
15 @Column(nullable = false, unique = true)
18 @Column(name = Constants.M_PERSON_PASSWORD, columnDefinition = "VARBINARY(20)")
19 private byte[] password;
22 private String accountNo;
25 private String bankCode;
27 @OneToMany(targetEntity = Enrollment.class)
28 private Collection<IEnrollment> enrollments = new ArrayList<>();
30 @OneToMany(targetEntity = Membership.class)
31 private Collection<IMembership> memberships = new ArrayList<>();
35 public String getEmail() {
40 public void setEmail(String email) {
45 public byte[] getPassword() {
50 public void setPassword(byte[] password) {
51 this.password = password;
55 public String getAccountNo() {
60 public void setAccountNo(String accountNo) {
61 this.accountNo = accountNo;
65 public String getBankCode() {
70 public void setBankCode(String bankCode) {
71 this.bankCode = bankCode;
75 public Collection<IEnrollment> getEnrollments() {
80 public void setEnrollments(Collection<IEnrollment> enrollments) {
81 this.enrollments = enrollments;
85 public void addEnrollment(IEnrollment enrollment) {
86 this.enrollments.add(enrollment);
90 public Collection<IMembership> getMemberships() {
95 public void setMemberships(Collection<IMembership> memberships) {
96 this.memberships = memberships;
100 public void addMembership(IMembership membership) {
101 this.memberships.add(membership);