diff --git a/.gitignore b/.gitignore index 9ff22f6..236cede 100644 --- a/.gitignore +++ b/.gitignore @@ -36,4 +36,5 @@ out/ ### VS Code ### .vscode/ .env -.DS_Store \ No newline at end of file +.DS_Store +src/main/generated/ \ No newline at end of file diff --git a/src/main/java/server/acode/domain/fragrance/entity/Concentration.java b/src/main/java/server/acode/domain/fragrance/entity/Concentration.java index f87de3d..a03c38d 100644 --- a/src/main/java/server/acode/domain/fragrance/entity/Concentration.java +++ b/src/main/java/server/acode/domain/fragrance/entity/Concentration.java @@ -1,5 +1,5 @@ package server.acode.domain.fragrance.entity; public enum Concentration { - EDP, EDT, EDC + EDP, EDT, EDC; } diff --git a/src/main/java/server/acode/domain/fragrance/entity/Fragrance.java b/src/main/java/server/acode/domain/fragrance/entity/Fragrance.java index 34fe9cd..d4f34e1 100644 --- a/src/main/java/server/acode/domain/fragrance/entity/Fragrance.java +++ b/src/main/java/server/acode/domain/fragrance/entity/Fragrance.java @@ -9,6 +9,7 @@ @Entity @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) +@Table(indexes = @Index(columnList = "korBrand")) public class Fragrance extends BaseTimeEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @@ -18,6 +19,10 @@ public class Fragrance extends BaseTimeEntity { @Column(length = 50) private String name; // 향수 이름 한글 + private String korBrand; // 브랜드 한글 이름 + private String engBrand; // 브랜드 영어 이름 + + private int rateSum; // 별점 총점 private int reviewCnt; // 리뷰 수 @@ -27,12 +32,17 @@ public class Fragrance extends BaseTimeEntity { private int view; // 조회수 - private String poster; //포스터 url + private String poster; //포스터 이미지 url + private String link1; // 구매 링크 url private String link2; private String link3; - @ManyToOne(fetch = FetchType.LAZY) - @JoinColumn(name = "brand_id") - private Brand brand; + private String thumbnail; // 대표 사진 url + private String image1; + private String image2; + + private String style; // 스타일 + private String season; // 계절감 + private String scent; // 향 } diff --git a/src/main/java/server/acode/domain/fragrance/entity/Scent.java b/src/main/java/server/acode/domain/fragrance/entity/Scent.java deleted file mode 100644 index 9203023..0000000 --- a/src/main/java/server/acode/domain/fragrance/entity/Scent.java +++ /dev/null @@ -1,72 +0,0 @@ -package server.acode.domain.fragrance.entity; - -import jakarta.persistence.*; -import lombok.AccessLevel; -import lombok.Getter; -import lombok.NoArgsConstructor; -import server.acode.global.common.BaseTimeEntity; - -@Entity -@Getter -@NoArgsConstructor(access = AccessLevel.PROTECTED) -public class Scent extends BaseTimeEntity { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "scent_id") - private Long id; - - @Column(columnDefinition = "tinyint(0) default 0") - private boolean smoky; //스모키한 - - @Column(columnDefinition = "tinyint(0) default 0") - private boolean zesty; //상큼한 - - @Column(columnDefinition = "tinyint(0) default 0") - private boolean sweet; //달콤한 - - @Column(columnDefinition = "tinyint(0) default 0") - private boolean fruity; //과일향 나는 - - @Column(columnDefinition = "tinyint(0) default 0") - private boolean fresh; // 상쾌한 - - @Column(columnDefinition = "tinyint(0) default 0") - private boolean crisp; // 청량한 - - @Column(columnDefinition = "tinyint(0) default 0") - private boolean moist; // 촉촉한 - - @Column(columnDefinition = "tinyint(0) default 0") - private boolean cool; // 시원한 - - @Column(columnDefinition = "tinyint(0) default 0") - private boolean aromatic; // 쌉싸름한 - - @Column(columnDefinition = "tinyint(0) default 0") - private boolean cozy; // 포근한 - - @Column(columnDefinition = "tinyint(0) default 0") - private boolean spicy; // 스파이시한 - - @Column(columnDefinition = "tinyint(0) default 0") - private boolean smooth; // 부드러운 - - @Column(columnDefinition = "tinyint(0) default 0") - private boolean floral; // 플로럴한 - - @Column(columnDefinition = "tinyint(0) default 0") - private boolean lively; // 싱그러운 - - @Column(columnDefinition = "tinyint(0) default 0") - private boolean fragrant; // 향긋한 - - @Column(columnDefinition = "tinyint(0) default 0") - private boolean rich; // 풍부한 - - @Column(columnDefinition = "tinyint(0) default 0") - private boolean nature; // 자연 그대로의 - - @OneToOne(fetch = FetchType.LAZY) - @JoinColumn(name = "fragrance_id") - private Fragrance fragrance; -} diff --git a/src/main/java/server/acode/domain/fragrance/entity/Season.java b/src/main/java/server/acode/domain/fragrance/entity/Season.java deleted file mode 100644 index 7ba6b54..0000000 --- a/src/main/java/server/acode/domain/fragrance/entity/Season.java +++ /dev/null @@ -1,33 +0,0 @@ -package server.acode.domain.fragrance.entity; - -import jakarta.persistence.*; -import lombok.AccessLevel; -import lombok.Getter; -import lombok.NoArgsConstructor; -import server.acode.global.common.BaseTimeEntity; - -@Entity -@Getter -@NoArgsConstructor(access = AccessLevel.PROTECTED) -public class Season extends BaseTimeEntity { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "season_id") - public Long id; - - @Column(columnDefinition = "tinyint(0) default 0") - private boolean spring; - - @Column(columnDefinition = "tinyint(0) default 0") - private boolean summer; - - @Column(columnDefinition = "tinyint(0) default 0") - private boolean autumn; - - @Column(columnDefinition = "tinyint(0) default 0") - private boolean winter; - - @OneToOne(fetch = FetchType.LAZY) - @JoinColumn(name = "fragrance_id") - private Fragrance fragrance; -} diff --git a/src/main/java/server/acode/domain/fragrance/entity/Style.java b/src/main/java/server/acode/domain/fragrance/entity/Style.java deleted file mode 100644 index d183fd2..0000000 --- a/src/main/java/server/acode/domain/fragrance/entity/Style.java +++ /dev/null @@ -1,87 +0,0 @@ -package server.acode.domain.fragrance.entity; - -import jakarta.persistence.*; -import lombok.AccessLevel; -import lombok.Getter; -import lombok.NoArgsConstructor; -import server.acode.global.common.BaseTimeEntity; - -@Entity -@Getter -@NoArgsConstructor(access = AccessLevel.PROTECTED) -public class Style extends BaseTimeEntity { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "style_id") - private Long id; - - @Column(columnDefinition="tinyint(0) default 0") - private boolean chic; //시크한 - - @Column(columnDefinition="tinyint(0) default 0") - private boolean mature; //성숙한 - - @Column(columnDefinition="tinyint(0) default 0") - private boolean luxurious; //고급스러운 - - @Column(columnDefinition="tinyint(0) default 0") - private boolean elegant; //우아한 - - @Column(columnDefinition="tinyint(0) default 0") - private boolean masculine; //남성적인 - - @Column(columnDefinition="tinyint(0) default 0") - private boolean comfortable; //편안한 - - @Column(columnDefinition="tinyint(0) default 0") - private boolean serene; //차분한 - - @Column(columnDefinition="tinyint(0) default 0") - private boolean light; //가벼운 - - @Column(columnDefinition="tinyint(0) default 0") - private boolean neutral; //중성적인 - - @Column(columnDefinition="tinyint(0) default 0") - private boolean friendly; //친근한 - - @Column(columnDefinition="tinyint(0) default 0") - private boolean clean; //깨끗한 - - @Column(columnDefinition="tinyint(0) default 0") - private boolean sensual; //관능적인 - - @Column(columnDefinition="tinyint(0) default 0") - private boolean delicate; //은은한 - - @Column(columnDefinition="tinyint(0) default 0") - private boolean lively; //활기찬 - - @Column(columnDefinition="tinyint(0) default 0") - private boolean lovely; //사랑스러운 - - @Column(columnDefinition="tinyint(0) default 0") - private boolean bright; //밝은 - - @Column(columnDefinition="tinyint(0) default 0") - private boolean radiant; //화사한 - - @Column(columnDefinition="tinyint(0) default 0") - private boolean feminine; //여성스러운 - - @Column(columnDefinition="tinyint(0) default 0") - private boolean innocent; //청순한 - - @Column(columnDefinition="tinyint(0) default 0") - private boolean weighty; //무게감 있는 - - @Column(columnDefinition="tinyint(0) default 0") - private boolean soft; //부드러운 - - @Column(columnDefinition="tinyint(0) default 0") - private boolean cozy; //포근한 - - @OneToOne(fetch = FetchType.LAZY) - @JoinColumn(name = "fragrance_id") - private Fragrance fragrance; -} diff --git a/src/main/java/server/acode/domain/ingredient/entity/Ingredient.java b/src/main/java/server/acode/domain/ingredient/entity/Ingredient.java index 31f226c..758ad5c 100644 --- a/src/main/java/server/acode/domain/ingredient/entity/Ingredient.java +++ b/src/main/java/server/acode/domain/ingredient/entity/Ingredient.java @@ -5,6 +5,7 @@ import lombok.Getter; import lombok.NoArgsConstructor; import server.acode.domain.family.entity.Family; +import server.acode.domain.fragrance.entity.Fragrance; import server.acode.global.common.BaseTimeEntity; @Entity @@ -20,7 +21,7 @@ public class Ingredient extends BaseTimeEntity { private String korName; // 향료 한글이름 @Column(length = 50) - private String engName; // 향료 한글이름 + private String engName; // 향료 영어이름 private String acode; // 어코드 설명 @@ -29,6 +30,7 @@ public class Ingredient extends BaseTimeEntity { private String summary; // 향료 설명 줄글 @ManyToOne(fetch = FetchType.LAZY) - @JoinColumn(name = "family_id") - private Family family; + @JoinColumn(name = "ingredient_type_id") + private IngredientType ingredientType; + } diff --git a/src/main/java/server/acode/domain/fragrance/entity/Brand.java b/src/main/java/server/acode/domain/ingredient/entity/IngredientType.java similarity index 54% rename from src/main/java/server/acode/domain/fragrance/entity/Brand.java rename to src/main/java/server/acode/domain/ingredient/entity/IngredientType.java index 67a1349..3d241c2 100644 --- a/src/main/java/server/acode/domain/fragrance/entity/Brand.java +++ b/src/main/java/server/acode/domain/ingredient/entity/IngredientType.java @@ -1,4 +1,4 @@ -package server.acode.domain.fragrance.entity; +package server.acode.domain.ingredient.entity; import jakarta.persistence.*; import lombok.AccessLevel; @@ -9,15 +9,16 @@ @Entity @Getter @NoArgsConstructor(access = AccessLevel.PROTECTED) -public class Brand extends BaseTimeEntity { +public class IngredientType extends BaseTimeEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) - @Column(name = "brand_id") + @Column(name = "ingredient_type_id") private Long id; @Column(length = 50) - private String korName; // 브랜드 한글 이름 - + private String korName; // 향료타입 한글이름 @Column(length = 50) - private String engName; // 브랜드 한글 이름 + private String engName; // 향료타입 영어이름 + + private String icon; // 아이콘 이미지 url }