blob: 0a945dd3b8b2552feffd57bd60b2375e2bb918aa [file] [log] [blame]
Matthias Andreas Benkardd5498fc2020-08-23 21:51:00 +02001package eu.mulk.mulkcms2.benki.posts;
2
3import java.io.Serializable;
4import java.util.Objects;
5import javax.persistence.Column;
6import javax.persistence.FetchType;
7import javax.persistence.Id;
8import javax.persistence.IdClass;
9import javax.persistence.JoinColumn;
10import javax.persistence.ManyToOne;
11
12@IdClass(PostTextPK.class)
13public class PostTextPK implements Serializable {
14
15 @ManyToOne(fetch = FetchType.LAZY)
16 @JoinColumn(name = "post", referencedColumnName = "id", nullable = false)
17 public Post<?> post;
18
19 @Id
20 @Column(name = "language", nullable = false, length = -1)
21 private String language;
22
23 public Post<?> getPost() {
24 return post;
25 }
26
27 public void setPost(Post post) {
28 this.post = post;
29 }
30
31 public String getLanguage() {
32 return language;
33 }
34
35 public void setLanguage(String language) {
36 this.language = language;
37 }
38
39 @Override
40 public boolean equals(Object o) {
41 if (this == o) {
42 return true;
43 }
44 if (!(o instanceof PostTextPK)) {
45 return false;
46 }
47 PostTextPK that = (PostTextPK) o;
48 return Objects.equals(getPost(), that.getPost()) && getLanguage().equals(that.getLanguage());
49 }
50
51 @Override
52 public int hashCode() {
53 return Objects.hash(getPost(), getLanguage());
54 }
55}