OneToMany 관계 설정 질문드립니다.
안녕하세요 조현영님. 질문이 계속 쏟아져나오네요! 첫 질문 때 이야기 했던 사용자(UserEntity)와 이미지(ImageEntity)간의 관계는 OneToMany 관계인것에 대해 질문하려합니다. UserEntity에 image라는 컬럼을 두고 아래 처럼 관계 설정 하였습니다.
아래는 ImageEntity의 관계 설정입니다.
질문 1. mysql 워크밴치등으로 Image테이블을 보면 imageForigenKeyForUserId라는 컬럼이 생성되었습니다. 이렇게 컬럼이름 + Id가 붙은 컬럼을 가상 컬럼이라 부르는것이 맞을까요?
질문 2. 만약 위 질문이 맞다면 원래 제가 예상한것은 User테이블에 imageId라는 가상 컬럼이 생기는것을 예상했는데 User테이블에는 가상 컬럼이 존재하지가 않네요. 위 코드에서 관계 설정이 잘못된 것일까요? 제가 이전에 상품과 이미지 관계를 OneToOne으로 맺었을 때는 제가 원한대로 (JoinColumn()이 붙은쪽에 컬럼이름 + Id가 붙은 가상 컬럼이 생성됨) 관계가 형성 되었습니다. 아래 코드를 사용해서요.
질문 3. 한쪽에서 OneToMany 관계로 시작하면 받는쪽은 ManyToOne이 맞죠?
ex) @OneToOne() Image => @ManyToOne() ImageForigenKey
질문이 많은거 같은데 시간 나실 때 천천히 봐주시면 감사할거 같습니다.
답변 1
0
1. 아뇨 imageForeignKeyForUserId는 실제로 존재하는 컬럼이므로 가상컬럼이 아닙니다. 그냥 외래키 컬럼입니다. imageForeignKeyForUser가 가상 컬럼이죠.
2. UserTable에 이미지 아이디가 안 생깁니다. 일대다에서는 다에 외래키컬럼이 생기는 것입니다. 이미지에 유저 아이디가 기록되어야죠.
3. 네 맞습니다.
0
아 OneToMany => ManyToOne 관계는 많은 쪽에 외래키가 생기는것이군요. 그러면 user쪽에서 image에 접근하려면 어떻게 해야 할까요? user에는 외래키가 없어서 접근 방법을 모르겠어요. 사용자와 이미지의 관계라 이미지를 1, 사용자를 n으로 두기에도 묘한 상황이라서요.
강의자료는 어디서 다운받나요?
0
110
3
질문 있습니다.
0
294
3
코드 편집기 확장 프로그램
0
209
2
(질문)비밀 저장소에 접근하기 위한 인증 정보는 로컬 .env에 저장하는지?
0
143
2
(질문)외부 저장소를 통한 환경변수 불러오기 비동기 질문
0
166
3
로그인을 해도 LoggedInGuard쪽에서 false값이 나옵니다.
0
152
2
로그인방법이 고민됩니다.
0
190
2
yarn seed 명령어 실행 시 데이터 삽입 안됨
0
296
4
yarn run db:create 시에 발생하는 데코레이터 오류
0
242
2
npm run db:create 시에 발생하는 decorating 오류
0
231
2
RxJS 디버깅 질문 있습니다.
0
187
3
CacheManager에 대해 질문 있습니다.
0
173
2
로깅은 어떻게 하는게 효율적일까요?
0
224
1
CORS 질문 있습니다.
0
417
2
쿠키 옵션에 대해서 질문 있습니다.
0
184
2
로그아웃 요청이 403 forbidden 에러가 나는데 왜그런걸까요??
0
447
1
401 unauthorized문제
0
286
1
가드의 장점에 대해서 질문이 있습니다.
0
225
1
로그 관리에 대해 질문 있습니다.
0
252
2
CORS 에러 질문 있습니다.
0
318
2
배포 환경 DB 연결 질문 있습니다.
0
411
2
socket io 미 연결 문제 (nest & flutter)
1
1154
3
no elements in sequence 에러 관해서 질문이 있습니다.
0
454
1
start:dev-backup으로 돌리면 핫 리로딩이 되요 정상인가요?
0
322
1





