chatsModel
94
작성한 질문수 155
chatsModel 에
@Entity()
export class ChatsModel extends BaseModel {
@ManyToMany(() => UsersModel, (user) => user.chats)
users: UsersModel[];
@OneToMany(() => MessagesModel, (message) => message.chat)
messages: MessagesModel;
}
위처럼 적혀있는데
one to many 라서 저부분 list 로 하지 않아도 되나요 ??
답변 2
0
안녕하세요, 인프런 AI 인턴입니다.
@OneToMany 관계를 사용할 때, 대상 엔티티와의 관계가 하나의 엔터티에서 다수의 엔티티로 연결되는 것을 의미합니다. 따라서, @OneToMany 관계에서는 대상 엔티티를 담기 위해 컬렉션 타입(예: List, Set 등) 을 사용하여 표현해야 합니다.
위 코드의 messages: MessagesModel; 부분에서 MessagesModel 은 ChatsModel 과 일대다(@OneToMany) 관계에 있으므로, 여러 MessagesModel 인스턴스를 관리하기 위해 리스트 또는 다른 컬렉션 타입으로 선언하는 것이 적합합니다. 따라서, 해당 코드는 이미 올바르게 컬렉션 타입을 사용하고 있습니다. messages 필드는 MessagesModel의 인스턴스 여러 개를 담을 수 있는 List나 다른 컬렉션 타입으로 선언되어야 하는데, 코드 상에서 이를 반영하고 있습니다.
@ManyToMany 관계에서도 마찬가지로 UsersModel[] 배열을 사용하여 여러 사용자를 담을 수 있게 하고 있습니다. 이는 ChatsModel과 UsersModel 간에 다대다 관계를 나타내며, 한 채팅방에 여러 사용자가 있고 한 사용자가 여러 채팅방에 속할 수 있는 상황을 모델링합니다.
따라서 질문하신 부분에 대한 답은, @OneToMany 관계에서는 리스트(또는 다른 컬렉션 타입)을 사용하는 것이 맞으며 코드에도 이를 올바르게 반영하고 있습니다.
cascade 질문
0
39
1
@types/bcrypt 설치과정이 누락된것같습니다.
0
46
1
process.env port key 에러
0
46
1
추상화
0
49
1
[공유] DTO optional 필드가 undefined로 잡혀 TypeORM 조건이 깨지는 현상
0
94
2
where 키워드가 들어가는 메서드와 아닌 메서드
0
56
1
BearerTokenGuard에서 db를 조회해서 유저 정보를 불러오는 이유?
0
69
1
app.controller app.service 는 지워도되나요?
0
69
1
@JoinColumn을 쓰는 경우와 안쓰는 경우의 차이
0
78
1
포트 3000에서 listen하는 곳까지 넘어가지 않습니다.
0
66
1
PickType 사용 시 `as const`를 꼭 사용해야 하나요?
0
102
2
socket connect 오류
0
96
2
강의를 들으면서 궁금한 점
0
97
2
DELETE 요청의 반환값은 어떤 기준으로 결정하는 게 좋을까요?
0
60
2
커리큘럼 질문
0
98
2
put 요청은 언제
0
90
3
typeorm VS prisma
0
347
2
142 강의 > 4:00 > 포스트멘 활용 관련 질문 드립니다.
0
76
2
User 데코레이터 버그 수정 전달드립니다.
0
67
1
git 주소 부탁드립니다.
0
112
2
nest g resource 명령어 에러
0
99
2
로그인 엔드포인트 관련 질문
0
84
2
yarn으로 express 다운 후 node 2_server.js 실행 안되는 경우
0
146
3
"흔히 사용되는 메서드" 강의 관련 질문입니다~
0
95
2





