-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Browse the repository at this point in the history
[Add/#9] Entity간 연관관계 설정
- Loading branch information
Showing
9 changed files
with
249 additions
and
0 deletions.
There are no files selected for viewing
18 changes: 18 additions & 0 deletions
18
src/main/java/corecord/dev/domain/analysis/constant/Keyword.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
package corecord.dev.domain.analysis.constant; | ||
|
||
import lombok.AllArgsConstructor; | ||
|
||
@AllArgsConstructor | ||
public enum Keyword { | ||
COMMUNICATION("커뮤니케이션"), | ||
TEAMWORK("팀워크"), | ||
LEADERSHIP("리더십") | ||
; | ||
|
||
private final String value; | ||
|
||
public String getValue() { | ||
return value; | ||
} | ||
|
||
} |
39 changes: 39 additions & 0 deletions
39
src/main/java/corecord/dev/domain/analysis/entity/Ability.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
package corecord.dev.domain.analysis.entity; | ||
|
||
import corecord.dev.common.base.BaseEntity; | ||
import corecord.dev.domain.analysis.constant.Keyword; | ||
import corecord.dev.domain.user.entity.User; | ||
import jakarta.persistence.*; | ||
import lombok.AllArgsConstructor; | ||
import lombok.Builder; | ||
import lombok.Getter; | ||
import lombok.NoArgsConstructor; | ||
|
||
@Entity | ||
@Getter | ||
@Builder | ||
@AllArgsConstructor | ||
@NoArgsConstructor | ||
public class Ability extends BaseEntity { | ||
|
||
@Id | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
@Column(nullable = false) | ||
private Long abilityId; | ||
|
||
@Column(nullable = false) | ||
@Enumerated(EnumType.STRING) | ||
private Keyword keyword; | ||
|
||
@Column(nullable = false, length = 500) | ||
private String content; | ||
|
||
@ManyToOne | ||
@JoinColumn(name = "user_id", nullable = false) | ||
private User user; | ||
|
||
@ManyToOne | ||
@JoinColumn(name = "analysis_id", nullable = false) | ||
private Analysis analysis; | ||
|
||
} |
37 changes: 37 additions & 0 deletions
37
src/main/java/corecord/dev/domain/analysis/entity/Analysis.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
package corecord.dev.domain.analysis.entity; | ||
|
||
import corecord.dev.common.base.BaseEntity; | ||
import corecord.dev.domain.record.entity.Record; | ||
import jakarta.persistence.*; | ||
import lombok.AllArgsConstructor; | ||
import lombok.Builder; | ||
import lombok.Getter; | ||
import lombok.NoArgsConstructor; | ||
|
||
import java.util.List; | ||
|
||
@Entity | ||
@Getter | ||
@Builder | ||
@AllArgsConstructor | ||
@NoArgsConstructor | ||
public class Analysis extends BaseEntity { | ||
|
||
@Id | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
@Column(nullable = false) | ||
private Long analysisId; | ||
|
||
@Column(nullable = false) | ||
private int count; // min=1, max=3 | ||
|
||
@Column(nullable = false, length = 500) | ||
private String suggestion; | ||
|
||
@OneToOne | ||
@JoinColumn(name = "record_id", nullable = false) | ||
private Record record; | ||
|
||
@OneToMany(mappedBy = "analysis", cascade = CascadeType.ALL, fetch = FetchType.LAZY) | ||
private List<Ability> abilityList; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
package corecord.dev.domain.chat.entity; | ||
|
||
import corecord.dev.common.base.BaseEntity; | ||
import jakarta.persistence.*; | ||
import lombok.AllArgsConstructor; | ||
import lombok.Builder; | ||
import lombok.Getter; | ||
import lombok.NoArgsConstructor; | ||
|
||
@Entity | ||
@Getter | ||
@Builder | ||
@AllArgsConstructor | ||
@NoArgsConstructor | ||
public class Chat extends BaseEntity { | ||
|
||
@Id | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
@Column(nullable = false) | ||
private Long chatId; | ||
|
||
@Column(nullable = false) | ||
private Integer author; // 0(user), 1(ai) | ||
|
||
@Column(nullable = false, length = 500) | ||
private String content; | ||
|
||
@ManyToOne | ||
@JoinColumn(name = "chat_room_id", nullable = false) | ||
private ChatRoom chatRoom; | ||
} |
35 changes: 35 additions & 0 deletions
35
src/main/java/corecord/dev/domain/chat/entity/ChatRoom.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
package corecord.dev.domain.chat.entity; | ||
|
||
import corecord.dev.common.base.BaseEntity; | ||
import corecord.dev.domain.record.entity.Record; | ||
import corecord.dev.domain.user.entity.User; | ||
import jakarta.persistence.*; | ||
import lombok.AllArgsConstructor; | ||
import lombok.Builder; | ||
import lombok.Getter; | ||
import lombok.NoArgsConstructor; | ||
|
||
import java.util.List; | ||
|
||
@Entity | ||
@Getter | ||
@Builder | ||
@AllArgsConstructor | ||
@NoArgsConstructor | ||
public class ChatRoom extends BaseEntity { | ||
|
||
@Id | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
@Column(nullable = false) | ||
private Long chatRoomId; | ||
|
||
@OneToMany(mappedBy = "chatRoom", cascade = CascadeType.ALL, fetch = FetchType.LAZY) | ||
private List<Chat> chatList; | ||
|
||
@OneToOne(mappedBy = "chatRoom") | ||
private Record record; | ||
|
||
@ManyToOne | ||
@JoinColumn(name = "user_id", nullable = false) | ||
private User user; | ||
} |
28 changes: 28 additions & 0 deletions
28
src/main/java/corecord/dev/domain/folder/entity/Folder.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
package corecord.dev.domain.folder.entity; | ||
|
||
import corecord.dev.common.base.BaseEntity; | ||
import corecord.dev.domain.record.entity.Record; | ||
import jakarta.persistence.*; | ||
import lombok.AllArgsConstructor; | ||
import lombok.Builder; | ||
import lombok.Getter; | ||
import lombok.NoArgsConstructor; | ||
|
||
@Entity | ||
@Getter | ||
@Builder | ||
@AllArgsConstructor | ||
@NoArgsConstructor | ||
public class Folder extends BaseEntity { | ||
|
||
@Id | ||
@GeneratedValue(strategy = GenerationType.IDENTITY) | ||
@Column(nullable = false) | ||
private Long folderId; | ||
|
||
@Column(nullable = false, length = 15) | ||
private String title; | ||
|
||
@OneToOne(mappedBy = "folder") | ||
private Record record; | ||
} |
5 changes: 5 additions & 0 deletions
5
src/main/java/corecord/dev/domain/record/constant/RecordType.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
package corecord.dev.domain.record.constant; | ||
|
||
public enum RecordType { | ||
MEMO, CHAT | ||
} |
49 changes: 49 additions & 0 deletions
49
src/main/java/corecord/dev/domain/record/entity/Record.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
package corecord.dev.domain.record.entity; | ||
|
||
import corecord.dev.common.base.BaseEntity; | ||
import corecord.dev.domain.analysis.entity.Analysis; | ||
import corecord.dev.domain.chat.entity.ChatRoom; | ||
import corecord.dev.domain.folder.entity.Folder; | ||
import corecord.dev.domain.record.constant.RecordType; | ||
import corecord.dev.domain.user.entity.User; | ||
import jakarta.persistence.*; | ||
import lombok.AllArgsConstructor; | ||
import lombok.Builder; | ||
import lombok.Getter; | ||
import lombok.NoArgsConstructor; | ||
|
||
@Entity | ||
@Getter @Builder | ||
@AllArgsConstructor | ||
@NoArgsConstructor | ||
public class Record extends BaseEntity { | ||
|
||
@Id @GeneratedValue(strategy = GenerationType.IDENTITY) | ||
@Column(nullable = false) | ||
private Long recordId; | ||
|
||
@Column(nullable = false) | ||
@Enumerated(EnumType.STRING) | ||
private RecordType type; | ||
|
||
@Column(length = 15) | ||
private String title; | ||
|
||
@Column(nullable = false, length = 500) | ||
private String content; | ||
|
||
@ManyToOne | ||
@JoinColumn(name = "user_id", nullable = false) | ||
private User user; | ||
|
||
@OneToOne | ||
@JoinColumn(name = "chat_room_id", nullable = true) | ||
private ChatRoom chatRoom; | ||
|
||
@OneToOne | ||
@JoinColumn(name = "folder_id", nullable = true) | ||
private Folder folder; | ||
|
||
@OneToOne(mappedBy = "record") | ||
private Analysis analysis; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters