Add localized texts to Benki post model.

Change-Id: I123cfe2ff06f85dc14c705b21d723d1c68fd2e00
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/posts/PostTextPK.java b/src/main/java/eu/mulk/mulkcms2/benki/posts/PostTextPK.java
new file mode 100644
index 0000000..0a945dd
--- /dev/null
+++ b/src/main/java/eu/mulk/mulkcms2/benki/posts/PostTextPK.java
@@ -0,0 +1,55 @@
+package eu.mulk.mulkcms2.benki.posts;
+
+import java.io.Serializable;
+import java.util.Objects;
+import javax.persistence.Column;
+import javax.persistence.FetchType;
+import javax.persistence.Id;
+import javax.persistence.IdClass;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+
+@IdClass(PostTextPK.class)
+public class PostTextPK implements Serializable {
+
+  @ManyToOne(fetch = FetchType.LAZY)
+  @JoinColumn(name = "post", referencedColumnName = "id", nullable = false)
+  public Post<?> post;
+
+  @Id
+  @Column(name = "language", nullable = false, length = -1)
+  private String language;
+
+  public Post<?> getPost() {
+    return post;
+  }
+
+  public void setPost(Post post) {
+    this.post = post;
+  }
+
+  public String getLanguage() {
+    return language;
+  }
+
+  public void setLanguage(String language) {
+    this.language = language;
+  }
+
+  @Override
+  public boolean equals(Object o) {
+    if (this == o) {
+      return true;
+    }
+    if (!(o instanceof PostTextPK)) {
+      return false;
+    }
+    PostTextPK that = (PostTextPK) o;
+    return Objects.equals(getPost(), that.getPost()) && getLanguage().equals(that.getLanguage());
+  }
+
+  @Override
+  public int hashCode() {
+    return Objects.hash(getPost(), getLanguage());
+  }
+}