1 | package mk.profesori.springapp.Model;
|
---|
2 |
|
---|
3 | import java.util.ArrayList;
|
---|
4 | import java.util.List;
|
---|
5 | import javax.persistence.CascadeType;
|
---|
6 | import javax.persistence.Column;
|
---|
7 | import javax.persistence.Entity;
|
---|
8 | import javax.persistence.GeneratedValue;
|
---|
9 | import javax.persistence.GenerationType;
|
---|
10 | import javax.persistence.Id;
|
---|
11 | import javax.persistence.JoinColumn;
|
---|
12 | import javax.persistence.ManyToOne;
|
---|
13 | import javax.persistence.OneToMany;
|
---|
14 | import javax.persistence.Table;
|
---|
15 |
|
---|
16 | import com.fasterxml.jackson.annotation.JsonIdentityInfo;
|
---|
17 | import com.fasterxml.jackson.annotation.ObjectIdGenerators;
|
---|
18 |
|
---|
19 | @Entity
|
---|
20 | @Table(name = "professor")
|
---|
21 | @JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "professorId")
|
---|
22 | public class Professor {
|
---|
23 |
|
---|
24 | @Id
|
---|
25 | @GeneratedValue(strategy = GenerationType.IDENTITY)
|
---|
26 | @Column(name = "id")
|
---|
27 | private Long professorId;
|
---|
28 |
|
---|
29 | @Column(name = "name")
|
---|
30 | private String professorName;
|
---|
31 |
|
---|
32 | @ManyToOne
|
---|
33 | @JoinColumn(name = "faculty_id")
|
---|
34 | private Faculty faculty;
|
---|
35 |
|
---|
36 | @OneToMany(mappedBy = "targetProfessor", cascade = CascadeType.ALL)
|
---|
37 | private List<Opinion> relatedOpinions = new ArrayList<Opinion>();
|
---|
38 |
|
---|
39 | // getters
|
---|
40 | public Long getProfessorId() {
|
---|
41 | return professorId;
|
---|
42 | }
|
---|
43 |
|
---|
44 | public String getProfessorName() {
|
---|
45 | return professorName;
|
---|
46 | }
|
---|
47 |
|
---|
48 | public Faculty getFaculty() {
|
---|
49 | return faculty;
|
---|
50 | }
|
---|
51 |
|
---|
52 | public List<Opinion> getRelatedOpinions() {
|
---|
53 | return relatedOpinions;
|
---|
54 | }
|
---|
55 | }
|
---|