From 83d90bc40ce039b147819acbb849d1b83e951929 Mon Sep 17 00:00:00 2001 From: jeonjunbae Date: Mon, 17 Feb 2025 17:56:14 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=ED=8C=8C=EC=9D=BC=20=EC=A0=80=EC=9E=A5?= =?UTF-8?q?=20=EC=97=94=ED=8B=B0=ED=8B=B0=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - ChatFile 엔티티 생성 - 파일 전송시 해당 데이터들을 관리 Resolves: #71 --- .../saessag/domain/chat/entity/ChatFile.java | 28 +++++++++++++++++++ .../domain/chat/entity/ChatMessage.java | 5 ++++ 2 files changed, 33 insertions(+) create mode 100644 src/main/java/com/market/saessag/domain/chat/entity/ChatFile.java diff --git a/src/main/java/com/market/saessag/domain/chat/entity/ChatFile.java b/src/main/java/com/market/saessag/domain/chat/entity/ChatFile.java new file mode 100644 index 0000000..f64259d --- /dev/null +++ b/src/main/java/com/market/saessag/domain/chat/entity/ChatFile.java @@ -0,0 +1,28 @@ +package com.market.saessag.domain.chat.entity; + +import jakarta.persistence.*; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import org.hibernate.annotations.OnDelete; +import org.hibernate.annotations.OnDeleteAction; + +@Entity +@Getter +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class ChatFile { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + @ManyToOne + @JoinColumn(name = "chat_message_id") + @OnDelete(action = OnDeleteAction.CASCADE) + private ChatMessage chatMessage; + + private String fileUrl; + private String fileType; +} diff --git a/src/main/java/com/market/saessag/domain/chat/entity/ChatMessage.java b/src/main/java/com/market/saessag/domain/chat/entity/ChatMessage.java index 3bcb449..da1d36e 100644 --- a/src/main/java/com/market/saessag/domain/chat/entity/ChatMessage.java +++ b/src/main/java/com/market/saessag/domain/chat/entity/ChatMessage.java @@ -10,6 +10,8 @@ import org.hibernate.annotations.OnDeleteAction; import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; @Entity @Getter @@ -32,5 +34,8 @@ public class ChatMessage { private String content; + @OneToMany(mappedBy = "chatMessage", cascade = CascadeType.ALL, orphanRemoval = true) + private List files = new ArrayList<>(); + private LocalDateTime timeStamp; } \ No newline at end of file