From 2635405fc9db4a1e77a431ed6438f3585a270fcc Mon Sep 17 00:00:00 2001 From: jiw00000 Date: Tue, 19 Aug 2025 02:32:31 +0900 Subject: [PATCH] =?UTF-8?q?feat(#15):=20post=20=EC=97=94=ED=8B=B0=ED=8B=B0?= =?UTF-8?q?=20=EC=9E=91=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cs_web_back/domain/post/model/Post.java | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/main/java/kr/ac/ks/cs_web_back/domain/post/model/Post.java diff --git a/src/main/java/kr/ac/ks/cs_web_back/domain/post/model/Post.java b/src/main/java/kr/ac/ks/cs_web_back/domain/post/model/Post.java new file mode 100644 index 0000000..f6dfa87 --- /dev/null +++ b/src/main/java/kr/ac/ks/cs_web_back/domain/post/model/Post.java @@ -0,0 +1,50 @@ +package kr.ac.ks.cs_web_back.domain.post.model; + +import kr.ac.ks.cs_web_back.domain.member.model.Member; + +import jakarta.persistence.*; +import lombok.Getter; +import lombok.NoArgsConstructor; +import org.hibernate.annotations.ColumnDefault; +import org.hibernate.annotations.CreationTimestamp; + +import java.time.LocalDateTime; + +@Entity +@Getter +@NoArgsConstructor +public class Post { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + @ManyToOne(fetch = FetchType.LAZY) + @JoinColumn(name = "member_id", nullable = false) + private Member member; + + @Column(nullable = false) + private String title; + + @Column(nullable = false) + private String content; + + @ColumnDefault("0") + @Column(nullable = false) + private int commentCount; + + @CreationTimestamp + @Column(nullable = false) + LocalDateTime createdAt; + + public Post(Member member, String title, String content) { + this.member = member; + this.title = title; + this.content = content; + } + + public static Post of(Member member, String title, String content) { + return new Post(member, title, content); + } +} +