diff --git a/src/main/java/database/Database1.java b/src/main/java/database/Database1.java
index 030abdd..0689e69 100644
--- a/src/main/java/database/Database1.java
+++ b/src/main/java/database/Database1.java
@@ -26,6 +26,8 @@
 import entity.UserPT;
 import entity.UserStar;
 import entity.config;
+import entity.PostReply;
+import entity.QPostReply;
 
 public class Database1 implements DataManagerInterface {
     @PersistenceContext
@@ -608,5 +610,20 @@
         return posts.toArray(new Post[0]);
     }
 
+    @Override
+    public Post GetPost(String postid) {
+        JPAQuery<Post> query = new JPAQuery<>(entitymanager);
+        QPost p = QPost.post;
+        Post post = query.select(p).from(p).where(p.postid.eq(postid)).fetchOne();
+        return post;
+    }
+
+    @Override
+    public PostReply[] GetPostReplyList(String postid) {
+        JPAQuery<PostReply> query = new JPAQuery<>(entitymanager);
+        QPostReply p = QPostReply.postReply;
+        List<PostReply> replies = query.select(p).from(p).where(p.postid.eq(postid)).fetch();
+        return replies.toArray(new PostReply[0]);
+    }
 }
 
