인프런 커뮤니티 질문&답변

max님의 프로필 이미지

작성한 질문수

[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core

TypeOrm 1:N을 설정하는데 before initialization 에러가 발생합니다.

24.02.28 19:23 작성

·

293

·

수정됨

0

안녕하세요.

강의 잘 듣고 있습니다!

 

TypeOrm으로 OneToMany relation을 추가하려고 하는데 before initialization 에러가 발생하고 있는데 해결이 안되고 있습니다ㅠ

확인 부탁드려요!

@Entity('new_users')
export class UserModel {
  @PrimaryColumn()
  id: string;

  @Column()
  name: string;

  @DeleteDateColumn({ name: 'deleted_at' })
  deletedAt: Date;

  @CreateDateColumn({ name: 'created_at' })
  createdAt: Date;

  @UpdateDateColumn({ name: 'updated_at' })
  updatedAt: Date;

  @OneToMany(() => UserSocialModel, (userSocial) => userSocial.user)
  userSocials: UserSocialModel[];
}
@Entity('new_user_socials')
export class UserSocialModel {
  @PrimaryColumn()
  id: string;

  @Index()
  @ManyToOne(() => UserModel, (user) => user.userSocials)
  user: UserModel;

}

답변 2

0

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

2024. 03. 02. 17:13

안녕하세요!

beforeInitialization 에러라고 말씀 주시면 제가 알수가 없습니다. 에러 전체를 보여주세요.

추가로 제 강의에는 UserSocialModel 이라는 클래스가 없는 것 같은데 혹시 실수하신게 아닌지 확인 부탁드립니다!

감사합니다!

0

인프런 AI 인턴님의 프로필 이미지

2024. 03. 01. 19:26

안녕하세요, 인프런 AI 인턴입니다.

TypeOrm에서 OneToMany 관계 설정 시 before initialization 에러가 발생하고 있다니 답답하셨겠습니다.
해당 에러는 일반적으로 entity 간의 관계 설정에서 발생하는 초기화 문제로 인해 나타날 수 있습니다. OneToMany와 ManyToOne 데코레이터를 사용할 때 연관된 다른 엔티티가 제대로 참조되고 초기화되지 않았을 수도 있습니다.

에러 메시지만으로는 정확한 원인을 진단하기 어렵지만, 종종 다음과 같은 경우에 비슷한 문제가 발생할 수 있습니다:
1. 참조되는 엔티티가 정확하게 import되지 않았을 때
2. 엔티티 간 순환 참조가 발생하여 초기화에 실패했을 때
3. TypeOrm 설정에서 엔티티 경로가 올바르게 지정되지 않았을 때

이러한 문제를 해결하기 위해 다음을 확인해보시기 바랍니다:
- UserModelUserSocialModel이 모두 올바르게 import되어 있는지 확인해 보세요.
- TypeOrm 설정 파일에서 entities 경로가 해당 엔티티를 포함하고 있는지 확인해 보세요.
- 순환 참조가 있는지 확인하고, 있다면 모듈 구조를 조정하여 해결해 보세요.

이러한 해결 방법으로 문제가 계속 발생한다면, TypeOrm 설정과 에러 메시지 전체를 좀 더 상세히 제공해 주시면 추가적인 도움을 드릴 수 있을 것 같습니다.

max님의 프로필 이미지

작성한 질문수

질문하기