Skip to content

Commit

Permalink
✨Practice(#5) : bidirectional mapping setting & column detail setting
Browse files Browse the repository at this point in the history
  • Loading branch information
2ghrms committed Oct 31, 2024
1 parent 6aa3334 commit 89fd912
Show file tree
Hide file tree
Showing 10 changed files with 88 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,30 @@
import jakarta.persistence.*;
import lombok.*;
import umc.spring.domain.common.BaseEntity;
import umc.spring.domain.mapping.MemberMission;
import umc.spring.domain.mapping.MemberPreferFood;

import java.util.ArrayList;
import java.util.List;

@Entity
@Getter
@Builder
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@AllArgsConstructor
public class FoodCategory extends BaseEntity {
public class Food extends BaseEntity {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@Enumerated(EnumType.STRING)
@Column(columnDefinition = "VARCHAR(20)")
private umc.spring.domain.enums.FoodCategory foodCategory;

@Column(nullable = false)
private Boolean preferOptional;

@OneToMany(mappedBy = "food", cascade = CascadeType.ALL)
private List<MemberPreferFood> memberPreferFoodList = new ArrayList<>();
}
21 changes: 21 additions & 0 deletions spring/src/main/java/umc/spring/domain/Member.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@
import lombok.*;
import umc.spring.domain.common.BaseEntity;
import umc.spring.domain.enums.*;
import umc.spring.domain.mapping.*;

import java.time.LocalDate;
import java.util.*;

@Entity
@Getter
Expand All @@ -18,26 +20,45 @@ public class Member extends BaseEntity {
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@Column(nullable = false, length = 20)
private String name;

@Enumerated(EnumType.STRING)
@Column(columnDefinition = "VARCHAR(10)")
private Gender gender;

private LocalDate birthdate;

@Enumerated(EnumType.STRING)
@Column(columnDefinition = "VARCHAR(10)")
private SocialType socialtype;

@Column(nullable = false, length = 40)
private String address;

@Column(nullable = false, length = 40)
private String specAddress;

@Column(nullable = false, length = 40)
private String email;

private Integer point;

@Enumerated(EnumType.STRING)
@Column(columnDefinition = "VARCHAR(10) DEFAULT 'ACTIVE'")
private MemberStatus status;

private LocalDate inactiveDate;

@OneToMany(mappedBy = "member", cascade = CascadeType.ALL)
private List<MemberAgreeTerm> memberAgreeTermList = new ArrayList<>();

@OneToMany(mappedBy = "member", cascade = CascadeType.ALL)
private List<MemberPreferFood> memberPreferFoodList = new ArrayList<>();

@OneToMany(mappedBy = "member", cascade = CascadeType.ALL)
private List<Review> reviewList = new ArrayList<>();

@OneToMany(mappedBy = "member", cascade = CascadeType.ALL)
private List<MemberMission> memberMissionList = new ArrayList<>();
}
5 changes: 5 additions & 0 deletions spring/src/main/java/umc/spring/domain/Mission.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,10 @@ public class Mission extends BaseEntity {

private LocalDate dueDate;

@Column(nullable = false, length = 100)
private String missionSpec;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "store_id")
private Store store;
}
1 change: 1 addition & 0 deletions spring/src/main/java/umc/spring/domain/Region.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,5 +14,6 @@ public class Region extends BaseEntity {
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@Column(nullable = false, length = 30)
private String name;
}
9 changes: 9 additions & 0 deletions spring/src/main/java/umc/spring/domain/Review.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,14 @@ public class Review extends BaseEntity {

private Float rating;

@Column(nullable = false, length = 300)
private String content;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "member_id")
private Member member;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "store_id")
private Store store;
}
6 changes: 6 additions & 0 deletions spring/src/main/java/umc/spring/domain/Store.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,18 @@ public class Store extends BaseEntity {
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@Column(nullable = false, length = 30)
private String name;

private Float score;

@Column(nullable = false, length = 40)
private String address;

@Enumerated(EnumType.STRING)
private FoodCategory foodCategory;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "region_id")
private Region region;
}
11 changes: 11 additions & 0 deletions spring/src/main/java/umc/spring/domain/Term.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,11 @@
import jakarta.persistence.*;
import lombok.*;
import umc.spring.domain.common.BaseEntity;
import umc.spring.domain.mapping.MemberAgreeTerm;
import umc.spring.domain.mapping.MemberMission;

import java.util.ArrayList;
import java.util.List;

@Entity
@Getter
Expand All @@ -15,9 +20,15 @@ public class Term extends BaseEntity {
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@Column(nullable = false, length = 50)
private String name;

@Column(nullable = false, length = 1000)
private String content;

@Column(nullable = false)
private Boolean agreeOptional;

@OneToMany(mappedBy = "term", cascade = CascadeType.ALL)
private List<MemberAgreeTerm> memberTermList = new ArrayList<>();
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import jakarta.persistence.*;
import lombok.*;
import umc.spring.domain.*;

@Entity
@Getter
Expand All @@ -14,5 +15,11 @@ public class MemberAgreeTerm {
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "member_id")
private Member member;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "term_id")
private Term term;
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import jakarta.persistence.*;
import lombok.*;
import umc.spring.domain.*;
import umc.spring.domain.enums.MissionStatus;

@Entity
Expand All @@ -17,4 +18,12 @@ public class MemberMission {

@Enumerated(EnumType.STRING)
private MissionStatus status;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "member_id")
private Member member;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "food_id")
private Food food;
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import jakarta.persistence.*;
import lombok.*;
import umc.spring.domain.*;

@Entity
@Getter
Expand All @@ -14,4 +15,11 @@ public class MemberPreferFood {
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "member_id")
private Member member;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "food_id")
private Food food;
}

0 comments on commit 89fd912

Please sign in to comment.