]> git.somenet.org - pub/jan/dst18.git/blob - ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Participant.java
Model fixes to remove unneeded tables.
[pub/jan/dst18.git] / ass1-jpa / src / main / java / dst / ass1 / jpa / model / impl / Participant.java
1 package dst.ass1.jpa.model.impl;
2
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;
7
8 import javax.persistence.*;
9 import java.util.ArrayList;
10 import java.util.Collection;
11
12 @Entity
13 @Table(name = Constants.T_PARTICIPANT, uniqueConstraints = {@UniqueConstraint(columnNames = {Constants.M_PARTICIPANT_ACCOUNT, Constants.M_PARTICIPANT_BANK_CODE})})
14 @PrimaryKeyJoinColumn(name = "id")
15 @NamedQuery(name = Constants.Q_PARTICIPANT_BY_EMAIL, query =
16         "SELECT p FROM " + Constants.T_PARTICIPANT + " as p where p." + Constants.M_PERSON_EMAIL + " = :email")
17 public class Participant extends Person implements IParticipant {
18     @Column(nullable = false, unique = true)
19     private String email;
20
21     @Column(name = Constants.M_PERSON_PASSWORD, columnDefinition = "VARBINARY(20)")
22     private byte[] password;
23
24     @Column
25     private String accountNo;
26
27     @Column
28     private String bankCode;
29
30     // FIXME: TESTS VS DB-MODEL?
31     @OneToMany(targetEntity = Enrollment.class)
32     private Collection<IEnrollment> enrollments = new ArrayList<>();
33
34     // FIXME: TESTS VS DB-MODEL?
35     @OneToMany(targetEntity = Membership.class)
36     private Collection<IMembership> memberships = new ArrayList<>();
37
38
39     @Override
40     public String getEmail() {
41         return email;
42     }
43
44     @Override
45     public void setEmail(String email) {
46         this.email = email;
47     }
48
49     @Override
50     public byte[] getPassword() {
51         return password;
52     }
53
54     @Override
55     public void setPassword(byte[] password) {
56         this.password = password;
57     }
58
59     @Override
60     public String getAccountNo() {
61         return accountNo;
62     }
63
64     @Override
65     public void setAccountNo(String accountNo) {
66         this.accountNo = accountNo;
67     }
68
69     @Override
70     public String getBankCode() {
71         return bankCode;
72     }
73
74     @Override
75     public void setBankCode(String bankCode) {
76         this.bankCode = bankCode;
77     }
78
79     @Override
80     public Collection<IEnrollment> getEnrollments() {
81         return enrollments;
82     }
83
84     @Override
85     public void setEnrollments(Collection<IEnrollment> enrollments) {
86         this.enrollments = enrollments;
87     }
88
89     @Override
90     public void addEnrollment(IEnrollment enrollment) {
91         this.enrollments.add(enrollment);
92     }
93
94     @Override
95     public Collection<IMembership> getMemberships() {
96         return memberships;
97     }
98
99     @Override
100     public void setMemberships(Collection<IMembership> memberships) {
101         this.memberships = memberships;
102     }
103
104     @Override
105     public void addMembership(IMembership membership) {
106         this.memberships.add(membership);
107     }
108 }