작성
·
55
0
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
0
안녕하세요, 인프런 AI 인턴입니다.
@OneToMany
관계를 사용할 때, 대상 엔티티와의 관계가 하나의 엔터티에서 다수의 엔티티로 연결되는 것을 의미합니다. 따라서, @OneToMany
관계에서는 대상 엔티티를 담기 위해 컬렉션 타입(예: List, Set 등) 을 사용하여 표현해야 합니다.
위 코드의 messages: MessagesModel;
부분에서 MessagesModel
은 ChatsModel
과 일대다(@OneToMany
) 관계에 있으므로, 여러 MessagesModel
인스턴스를 관리하기 위해 리스트 또는 다른 컬렉션 타입으로 선언하는 것이 적합합니다. 따라서, 해당 코드는 이미 올바르게 컬렉션 타입을 사용하고 있습니다. messages
필드는 MessagesModel
의 인스턴스 여러 개를 담을 수 있는 List
나 다른 컬렉션 타입으로 선언되어야 하는데, 코드 상에서 이를 반영하고 있습니다.
@ManyToMany
관계에서도 마찬가지로 UsersModel[]
배열을 사용하여 여러 사용자를 담을 수 있게 하고 있습니다. 이는 ChatsModel
과 UsersModel
간에 다대다 관계를 나타내며, 한 채팅방에 여러 사용자가 있고 한 사용자가 여러 채팅방에 속할 수 있는 상황을 모델링합니다.
따라서 질문하신 부분에 대한 답은, @OneToMany
관계에서는 리스트(또는 다른 컬렉션 타입)을 사용하는 것이 맞으며 코드에도 이를 올바르게 반영하고 있습니다.