inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

따라하며 배우는 노드, 리액트 시리즈 - 레딧 사이트 만들기(NextJS)(Pages Router)

Comment Entity

TypeORM 관련 질문드립니다.

551

ym Kim

작성한 질문수 15

0

Comment.ts 파일을 생성할 때,

Comment.ts  파일을 생성할 때,
@ManyToOne(() => User)
@JoinColumn({ name: 'username', referencedColumnName: 'username' })
user: User;

@ManyToOne(() => Post, (post) => post.comments, { nullable: false })
post: Post;

둘 다 똑같은 ManyToOne 인데 형식이 왜 다른지 알 수 있을까요?

Vote.ts 같은 경우에도

  @ManyToOne(() => User)
  @JoinColumn({ name: 'username', referencedColumnName: 'username' })
  user: User;

  @ManyToOne(() => Post)
  post: Post;

  @ManyToOne(() => Comment)
  comment: Comment;

이런식으로 같은 데코레이터여도 어떤 것은 () => xx 다음에 무언가를 붙이는 경우가 있고 JoinColumn을 붙이는 경우도 있고, () => xx 만 붙이는 경우가 있는데 어떤 경우에 따라 어떻게 달라지고, 무슨 차이가 있는지 궁금합니다.

typescript react docker postgresql nodejs 클론코딩 Next.js

답변 2

0

pilkeun.jo

안녕하세요 강사님,


그렇다면 어떤 것은 생략하고 어떤 것은 생략하지 않는다는 것인데 그러면 Convention을 유지하는 것 같지 않습니다.

제가 직접 만들 때는 무조건 넣고 하려고 하는데 크게 문제는 없을까요?

0

John Ahn

안녕하세요
우선 @OneToMany()/@ManyToOne()에서는 @JoinColumn()을 생략할 수 있습니다.
또한 ManyToOne에 파라미터를 보면
1. Type 2. inverseSide 3.Option 입니다.
실제 타입스크립트로 보면

typeFunctionOrTarget: string | ((type?: any) => ObjectType<User>),
inverseSide?: string | ((object: User) => any),
options?: RelationOptions

 

이렇게 되어있습니다.
저기 inverseSide? <= 이 물음표가 있으면 선택사항을 뜻합니다.
그러기에 정의를 해줘도 되고 안 해줘도 되기에 생략을 한 부분입니다.
세 번째 options 파라미터도 그와 같습니다 ~

생략을 해준다고 해서 다른 현상이 일어나고 하지는 않습니다.
왜냐면 typeorm 이 내부에서 알아서 작업을 하기 때문입니다.
감사합니다.

toJson을 추가하면 [sub].tsx에서 sub를 받아오지 못합니다.

0

117

2

쿠키 저장이 되지 않습니다.

0

222

1

AxiosError {message: 'Request failed with status code 401/500', name: 'AxiosError', code: 'ERR_BAD_RESPONSE', (2)

0

580

1

AxiosError {message: 'Request failed with status code 401/500', name: 'AxiosError', code: 'ERR_BAD_RESPONSE',

0

647

1

overload 에러

0

169

1

docker compose up 오류

0

206

1

부록) remark 강의 중 parmas 오류

0

139

1

3000번은 잘 들어가지는데 80번은 안됩니다.

1

292

0

커뮤니티를 올리고 난 후 404 page

0

209

1

tailwind css 문제인지, className 에 적용한 css가 적용되지 않아요.

0

1039

2

tsx 수정 시 마다 빌드 후 서버 시작 해야하나요?

0

651

2

useState 쳤을 때 자동완성 되는 단축키 무엇인가요? extention 인가요?

0

804

2

리액트 서버 npm run dev 와 npm run build 후 npm start 의 차이

0

4587

2

data 폴더가 생성되지 않아요.

0

523

1

docker-compose up 오류

0

814

1

회원 가입 페이지 기능 생성(3) 중 에러

0

379

2

Entity에 toJSON 코드 입력 후 404 에러

0

252

1

context에서 useEffect 선언 부분 질문 있어요.

0

294

1

src 폴더구조

0

509

2

서버 실행 시 에러 관련하여 답변받고 1차 조치했는데 여전하여서 질문 남깁니다

0

297

1

엔티티 모두 작성 후 서버 실행 시 에러가 발생합니다

0

311

1

회원가입 누르면 404에러가 뜹니다 ;-;

1

420

1

nextjs버젼에 대해서 질문드립니다.

0

372

1

<npm run dev>시 -61 에러가 나타납니다!

0

354

1