blob: dd5982d7aa58809637a709d258f8df3bedd3e9cc [file] [log] [blame]
Matthias Andreas Benkard2f0b3702020-01-12 15:46:34 +01001package eu.mulk.entity;
2
3import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
4import java.util.Objects;
5import javax.persistence.Column;
6import javax.persistence.Entity;
7import javax.persistence.Id;
8import javax.persistence.IdClass;
9import javax.persistence.JoinColumn;
10import javax.persistence.ManyToOne;
11import javax.persistence.Table;
12
13@Entity
14@Table(name = "article_category_memberships", schema = "public", catalog = "mulkcms")
15@IdClass(ArticleCategoryMembershipPK.class)
16public class ArticleCategoryMembership extends PanacheEntityBase {
17
18 private int articleId;
19 private String category;
20 private Article article;
21
22 @Id
23 @Column(name = "article", nullable = false)
24 public int getArticleId() {
25 return articleId;
26 }
27
28 public void setArticleId(int articleId) {
29 this.articleId = articleId;
30 }
31
32 @Id
33 @Column(name = "category", nullable = false, length = -1)
34 public String getCategory() {
35 return category;
36 }
37
38 public void setCategory(String category) {
39 this.category = category;
40 }
41
42 @Override
43 public boolean equals(Object o) {
44 if (this == o) {
45 return true;
46 }
47 if (o == null || getClass() != o.getClass()) {
48 return false;
49 }
50 ArticleCategoryMembership that = (ArticleCategoryMembership) o;
51 return articleId == that.articleId &&
52 Objects.equals(category, that.category);
53 }
54
55 @Override
56 public int hashCode() {
57 return Objects.hash(articleId, category);
58 }
59
60 @ManyToOne
61 @JoinColumn(name = "article", referencedColumnName = "id", nullable = false, insertable = false, updatable = false)
62 public Article getArticle() {
63 return article;
64 }
65
66 public void setArticle(Article article) {
67 this.article = article;
68 }
69}