Matthias Andreas Benkard | d5498fc | 2020-08-23 21:51:00 +0200 | [diff] [blame] | 1 | package eu.mulk.mulkcms2.benki.posts; |
| 2 | |
Matthias Andreas Benkard | e3bc3ee | 2023-08-06 16:21:11 +0200 | [diff] [blame^] | 3 | import jakarta.persistence.Column; |
| 4 | import jakarta.persistence.FetchType; |
| 5 | import jakarta.persistence.Id; |
| 6 | import jakarta.persistence.IdClass; |
| 7 | import jakarta.persistence.JoinColumn; |
| 8 | import jakarta.persistence.ManyToOne; |
Matthias Andreas Benkard | d5498fc | 2020-08-23 21:51:00 +0200 | [diff] [blame] | 9 | import java.io.Serializable; |
| 10 | import java.util.Objects; |
Matthias Andreas Benkard | d5498fc | 2020-08-23 21:51:00 +0200 | [diff] [blame] | 11 | |
| 12 | @IdClass(PostTextPK.class) |
| 13 | public 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 | } |