Skip to content

Commit cd39a0e

Browse files
authored
Merge pull request #58 from Gachigage/fix/inwoo
[fix] product 삭제 시 trade, chatroom 데이터 있을 시 삭제 안되는 것 수정
2 parents 188db9a + 3706be5 commit cd39a0e

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

src/main/java/com/gachigage/chat/domain/ChatRoom.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
package com.gachigage.chat.domain;
22

33
import java.time.LocalDateTime;
4+
import java.util.ArrayList;
5+
import java.util.List;
46

57
import org.springframework.data.annotation.CreatedDate;
68
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
79

810
import com.gachigage.member.Member;
911
import com.gachigage.product.domain.Product;
1012

13+
import jakarta.persistence.CascadeType;
1114
import jakarta.persistence.Column;
1215
import jakarta.persistence.Entity;
1316
import jakarta.persistence.EntityListeners;
@@ -18,6 +21,7 @@
1821
import jakarta.persistence.JoinColumn;
1922
import jakarta.persistence.Lob;
2023
import jakarta.persistence.ManyToOne;
24+
import jakarta.persistence.OneToMany;
2125
import jakarta.persistence.Table;
2226
import lombok.AllArgsConstructor;
2327
import lombok.Builder;
@@ -48,6 +52,9 @@ public class ChatRoom {
4852
@JoinColumn(name = "product_id")
4953
private Product product;
5054

55+
@OneToMany(mappedBy = "chatRoom", cascade = CascadeType.REMOVE, orphanRemoval = true)
56+
private List<ChatMessage> messages = new ArrayList<>();
57+
5158
@Lob
5259
@Column(name = "last_message")
5360
private String lastMessage;

src/main/java/com/gachigage/product/domain/Product.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,12 @@
55

66
import org.hibernate.annotations.ColumnDefault;
77

8+
import com.gachigage.chat.domain.ChatRoom;
89
import com.gachigage.global.common.BaseEntity;
910
import com.gachigage.global.error.CustomException;
1011
import com.gachigage.global.error.ErrorCode;
1112
import com.gachigage.member.Member;
13+
import com.gachigage.trade.domain.Trade;
1214

1315
import jakarta.persistence.CascadeType;
1416
import jakarta.persistence.Column;
@@ -87,6 +89,12 @@ public class Product extends BaseEntity {
8789
@OneToMany(mappedBy = "product", cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.LAZY)
8890
private List<ProductLike> likes = new ArrayList<>();
8991

92+
@OneToMany(mappedBy = "product", cascade = CascadeType.REMOVE, orphanRemoval = true)
93+
private List<Trade> trades = new ArrayList<>();
94+
95+
@OneToMany(mappedBy = "product", cascade = CascadeType.REMOVE, orphanRemoval = true)
96+
private List<ChatRoom> chatRooms = new ArrayList<>();
97+
9098
@Enumerated(EnumType.STRING)
9199
@Column(name = "status", nullable = false)
92100
@ColumnDefault("'SELLING'") // DB에 들어갈 기본값

0 commit comments

Comments
 (0)