diff --git a/src/main/java/object/Post.java b/src/main/java/object/Post.java
index 84f9757..463e242 100644
--- a/src/main/java/object/Post.java
+++ b/src/main/java/object/Post.java
@@ -1,11 +1,46 @@
 package object;
 
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.ForeignKey;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.Lob;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
+import javax.persistence.Temporal;
+import javax.persistence.TemporalType;
+
+@Entity
+@Table(name = "Post")
 public class Post {
+    @Id
+    @Column(name = "post_id", length = 64, nullable = false)
     public String postid;
+
+    @Column(name = "title", length = 255, nullable = false)
     public String posttitle;
+
+    @Lob
+    @Column(name = "content", nullable = false)
     public String postcontent;
+
+    @Column(name = "author_id", length = 36, nullable = false)
     public String postuserid;
-    public String posttime;
-    public String replytime;
-    public String readtime;
+
+    @ManyToOne(optional = false)
+    @JoinColumn(name = "author_id", referencedColumnName = "user_id", foreignKey = @ForeignKey(name = "fk_post_user"), insertable = false, updatable = false)
+    public User author;
+
+    @Column(name = "created_at", nullable = false)
+    @Temporal(TemporalType.TIMESTAMP)
+    public Date posttime;
+
+    @Column(name = "reply_count", nullable = false)
+    public int replytime;
+
+    @Column(name = "view_count", nullable = false)
+    public int readtime;
 }
