From 72a0f635141dffa1f0cceafbf2a83da62502793f Mon Sep 17 00:00:00 2001 From: dl-00-e8 Date: Wed, 31 Jan 2024 00:42:35 +0900 Subject: [PATCH] =?UTF-8?q?[#23]=20feat:=20Category=20Entity=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../server/domain/post/entity/Category.java | 39 +++++++++++++++++++ .../domain/post/enumerate/CategoryType.java | 4 ++ .../post/repository/CategoryRepository.java | 8 ++++ 3 files changed, 51 insertions(+) create mode 100644 src/main/java/com/gongjakso/server/domain/post/entity/Category.java create mode 100644 src/main/java/com/gongjakso/server/domain/post/enumerate/CategoryType.java create mode 100644 src/main/java/com/gongjakso/server/domain/post/repository/CategoryRepository.java diff --git a/src/main/java/com/gongjakso/server/domain/post/entity/Category.java b/src/main/java/com/gongjakso/server/domain/post/entity/Category.java new file mode 100644 index 00000000..ada2ac51 --- /dev/null +++ b/src/main/java/com/gongjakso/server/domain/post/entity/Category.java @@ -0,0 +1,39 @@ +package com.gongjakso.server.domain.post.entity; + +import com.gongjakso.server.domain.post.enumerate.CategoryType; +import com.gongjakso.server.global.common.BaseTimeEntity; +import jakarta.persistence.*; +import lombok.AccessLevel; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; + +@Getter +@Entity +@Table(name = "category") +@NoArgsConstructor(access = AccessLevel.PROTECTED) +public class Category extends BaseTimeEntity { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "category_id", nullable = false, columnDefinition = "bigint") + private Long categoryId; + + @ManyToOne + @JoinColumn(name = "post_id", nullable = false, columnDefinition = "bigint") + private Post post; + + @Column(name = "category_type", nullable = false, columnDefinition = "varchar(100)") + @Enumerated(EnumType.STRING) + private CategoryType categoryType; + + @Column(name = "size", nullable = false, columnDefinition = "int") + private Integer size; + + @Builder + public Category(Post post, String categoryType, Integer size) { + this.post = post; + this.categoryType = CategoryType.valueOf(categoryType); + this.size = size; + } +} diff --git a/src/main/java/com/gongjakso/server/domain/post/enumerate/CategoryType.java b/src/main/java/com/gongjakso/server/domain/post/enumerate/CategoryType.java new file mode 100644 index 00000000..cb8304b3 --- /dev/null +++ b/src/main/java/com/gongjakso/server/domain/post/enumerate/CategoryType.java @@ -0,0 +1,4 @@ +package com.gongjakso.server.domain.post.enumerate; + +public enum CategoryType { +} diff --git a/src/main/java/com/gongjakso/server/domain/post/repository/CategoryRepository.java b/src/main/java/com/gongjakso/server/domain/post/repository/CategoryRepository.java new file mode 100644 index 00000000..4972d2b5 --- /dev/null +++ b/src/main/java/com/gongjakso/server/domain/post/repository/CategoryRepository.java @@ -0,0 +1,8 @@ +package com.gongjakso.server.domain.post.repository; + +import com.gongjakso.server.domain.post.entity.Category; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface CategoryRepository extends JpaRepository { + +}