]> git.somenet.org - pub/jan/dst18.git/blob - ass1-jpa/src/main/java/dst/ass1/jpa/model/impl/Lecturer.java
[1.1.1+1.3.1] model + dao(-stubs) + Material Listener.
[pub/jan/dst18.git] / ass1-jpa / src / main / java / dst / ass1 / jpa / model / impl / Lecturer.java
1 package dst.ass1.jpa.model.impl;
2
3 import dst.ass1.jpa.model.ICourse;
4 import dst.ass1.jpa.model.ILecturer;
5 import dst.ass1.jpa.model.ILesson;
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_LECTURER)
14 public class Lecturer extends Person implements ILecturer {
15     @OneToMany(targetEntity = Course.class)
16     private Collection<ICourse> courses = new ArrayList<>();
17
18     @ManyToMany(targetEntity = Lesson.class)
19     @JoinTable(name = Constants.J_LECTURER_LESSON,
20             joinColumns = {
21                     @JoinColumn(name = Constants.I_LECTURER)
22             },
23             inverseJoinColumns = {
24                     @JoinColumn(name = Constants.I_LESSON)
25             })
26     private Collection<ILesson> lessons = new ArrayList<>();
27
28
29     @Override
30     public Collection<ICourse> getCourses() {
31         return courses;
32     }
33
34     @Override
35     public void setCourses(Collection<ICourse> courses) {
36         this.courses = courses;
37     }
38
39     @Override
40     public void addCourse(ICourse course) {
41         this.courses.add(course);
42     }
43
44     @Override
45     public Collection<ILesson> getLessons() {
46         return lessons;
47     }
48
49     @Override
50     public void setLessons(Collection<ILesson> lessons) {
51         this.lessons = lessons;
52     }
53
54     @Override
55     public void addLesson(ILesson lesson) {
56         this.lessons.add(lesson);
57     }
58 }