• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

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

24.02.28 19:23 작성 24.02.28 19:24 수정 조회수 104

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

안녕하세요!

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

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

감사합니다!

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.03.01

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

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

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

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

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