Skip to content

Commit

Permalink
feat: #10 product entity
Browse files Browse the repository at this point in the history
[Feat] product entity 작성
  • Loading branch information
sominyun authored Mar 3, 2024
2 parents fc5cd72 + 76b265e commit 7cbc023
Show file tree
Hide file tree
Showing 8 changed files with 163 additions and 0 deletions.
5 changes: 5 additions & 0 deletions src/main/java/com/backend/soullive_a/constant/AgeType.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package com.backend.soullive_a.constant;

public enum AgeType {
TEN,TWENTY,THIRTEEN, FOURTEEN, FIFTEEN, SIXTEEN
}
5 changes: 5 additions & 0 deletions src/main/java/com/backend/soullive_a/constant/GenderType.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package com.backend.soullive_a.constant;

public enum GenderType {
Male, Female
}
26 changes: 26 additions & 0 deletions src/main/java/com/backend/soullive_a/entity/Age.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package com.backend.soullive_a.entity;

import com.backend.soullive_a.constant.AgeType;
import jakarta.persistence.*;
import lombok.*;

@Entity
@Table(name = "AGE")
@Builder
@Getter
@AllArgsConstructor
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class Age {
@Id
@GeneratedValue
@Column(name = "AGE_ID")
private Long id;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "PRODUCT_ID", nullable = false)
private Product product;

@Enumerated(EnumType.STRING)
@Column(name = "AGE_TYPE")
private AgeType age;
}
24 changes: 24 additions & 0 deletions src/main/java/com/backend/soullive_a/entity/BrandImage.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package com.backend.soullive_a.entity;

import jakarta.persistence.*;
import lombok.*;

@Entity
@Table(name = "BRAND_IMAGE")
@Builder
@Getter
@AllArgsConstructor
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class BrandImage {
@Id
@GeneratedValue
@Column(name = "BRAND_IMAGE_ID")
private Long id;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "PRODUCT_ID", nullable = false)
private Product product;

@Column(name = "BRAND_IMAGE")
private String brandImage;
}
26 changes: 26 additions & 0 deletions src/main/java/com/backend/soullive_a/entity/Gender.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package com.backend.soullive_a.entity;

import com.backend.soullive_a.constant.GenderType;
import jakarta.persistence.*;
import lombok.*;

@Entity
@Table(name = "GENDER")
@Builder
@Getter
@AllArgsConstructor
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class Gender {
@Id
@GeneratedValue
@Column(name = "GENDER_ID")
private Long id;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "PRODUCT_ID", nullable = false)
private Product product;

@Enumerated(EnumType.STRING)
@Column(name = "GENDER_TYPE")
private GenderType gender;
}
29 changes: 29 additions & 0 deletions src/main/java/com/backend/soullive_a/entity/Product.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package com.backend.soullive_a.entity;

import jakarta.persistence.*;
import lombok.*;

@Entity
@Table(name = "PRODUCT")
@Builder
@Getter
@AllArgsConstructor
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class Product {
@Id
@GeneratedValue
@Column(name = "PRODUCT_ID", nullable = false)
private Long id;

@Column(name = "COMPANY", nullable = false)
private String company;

@Column(name = "BRAND", nullable = true)
private String brand;

@Column(name = "PRODUCT", nullable = false)
private String product;

@Column(name = "CHARACTERISTIC", nullable = false)
private String characteristic;
}
24 changes: 24 additions & 0 deletions src/main/java/com/backend/soullive_a/entity/ProductImage.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package com.backend.soullive_a.entity;

import jakarta.persistence.*;
import lombok.*;

@Entity
@Table(name = "PRODUCT_IMAGE")
@Builder
@Getter
@AllArgsConstructor
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class ProductImage {
@Id
@GeneratedValue
@Column(name = "PRODUCT_IMAGE_ID", nullable = false)
private Long id;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "PRODUCT_ID", nullable = false)
private Product product;

@Column(name = "PRODUCT_IMAGE", nullable = false)
private String productImage;
}
24 changes: 24 additions & 0 deletions src/main/java/com/backend/soullive_a/entity/Range.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package com.backend.soullive_a.entity;

import jakarta.persistence.*;
import lombok.*;

@Entity
@Table(name = "TARGETRANGE")
@Builder
@Getter
@AllArgsConstructor
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class Range {
@Id
@GeneratedValue
@Column(name = "RANGE_ID", nullable = false)
private Long id;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "PRODUCT_ID", nullable = false)
private Product product;

@Column(name = "RANGE_VALUE", nullable = false)
private String range;
}

0 comments on commit 7cbc023

Please sign in to comment.