user랑 post 테이블이 있다고 가정함
post 테이블에 owner 라는 컬럼이 user의 id 랑 연결되어있음 이 둘은 int형임
그니까 post를 쓸라면 owner 라는 컬럼은 무좆건 user의 id 값이어야 하잔슨?
그래서 post 정의할때 대충 이딴식으로 만들었음
import { Entity, Column, ManyToOne, JoinColumn, PrimaryGeneratedColumn, } from 'typeorm'; import { User } from 'src/user/entities/user.entity'; @Entity() export class Post { @PrimaryGeneratedColumn() id: number; @Column() title: string; @Column() body: string; @ManyToOne(() => User, (user) => user.id) @JoinColumn({ name: 'owner' }) user: User; //여기랑 @Column() owner: number; //이 부분 } |
사실 이것도 인터넷에 있던 다른 예제보고 따라서 만든건데
저 ManyToOne() user: User; 가 대체 무 슨 뜻인지 이해도 못하겠는데
아무튼 post 테이블의 owner라는 컬럼은 int 형으로 생성되고
typeorm으로 create() 할때도 owner 라는 값을 실제 user id 인 숫자로 줘도 동작을 하긴하든데
원래 이렇게 설정하는거 맞음?
대체 문서에 다 설명이 있는데 왜 안쳐읽고 국산 개병신 블로그 예제 긁어와서 배끼는거임?
릴레이션이 뭔지도 모르는데 orm을 왜 만지작거림
사실 nest 하기 싫었는데 이번에 nest로 땔감질 해야해서 퓨ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
nest가 문제가 아니라 걍 아무것도 모르는 수준 같은데
당장 시작을 해야하는데 typeorm 부터 시작 알아야하는데 어디서 부터 봐야할지 모름
으악
Sql 5년 이하 ORM 금지 모르냐? - dc App
이건 또 뭐냐 ㅋㅋㅋ
이건 nest의 문제가 아닌데?
매니투원 데코레이터로 Post의 owner 필드와 User 엔티티의 id필드를 매핑시켜서 user라는 가상필드를 만들어주는것이다 그건 실제 테이블에 user란 필드는 없지만 엔티티로서 쓰기 편하게 해주는 것이지 - dc App