diff --git a/src/main/java/database/DataManagerInterface.java b/src/main/java/database/DataManagerInterface.java
index e20d533..d284288 100644
--- a/src/main/java/database/DataManagerInterface.java
+++ b/src/main/java/database/DataManagerInterface.java
@@ -50,7 +50,7 @@
     public int UpdatePost(Post post);//更新一个帖子，返回状态：0 success，1 不存在,2其他原因
     public int DeletePost(String postid);//删除一个帖子，返回状态：0 success，1 不存在,2其他原因
 
-    public int AddComment(String postid,String comment);//添加一个评论，返回状态：0 success，1 不存在，2其他原因
+    public int AddComment(String postid, String userid, String comment);//添加一个评论，返回状态：0 success，1 不存在，2其他原因
     public int DeleteComment(String postid,String commentid);//删除一个评论，返回状态：0 success，1 不存在,2其他原因
 
     
diff --git a/src/main/java/object/PostReply.java b/src/main/java/object/PostReply.java
new file mode 100644
index 0000000..bc95625
--- /dev/null
+++ b/src/main/java/object/PostReply.java
@@ -0,0 +1,38 @@
+package object;
+
+import java.util.Date;
+import javax.persistence.*;
+
+@Entity
+@Table(name = "PostReply")
+public class PostReply {
+    @Id
+    @Column(name = "reply_id", length = 64, nullable = false)
+    public String replyid;
+
+    @Column(name = "post_id", length = 64, nullable = false)
+    public String postid;
+
+    @ManyToOne(optional = false)
+    @JoinColumn(name = "post_id", referencedColumnName = "post_id", 
+                foreignKey = @ForeignKey(name = "fk_pr_post"), 
+                insertable = false, updatable = false)
+    public Post post;
+
+    @Column(name = "author_id", length = 36, nullable = false)
+    public String authorid;
+
+    @ManyToOne(optional = false)
+    @JoinColumn(name = "author_id", referencedColumnName = "user_id", 
+                foreignKey = @ForeignKey(name = "fk_pr_user"), 
+                insertable = false, updatable = false)
+    public User author;
+
+    @Lob
+    @Column(name = "content", nullable = false)
+    public String content;
+
+    @Column(name = "created_at", nullable = false)
+    @Temporal(TemporalType.TIMESTAMP)
+    public Date createdAt;
+}
\ No newline at end of file
