작성
·
415
1
안녕하세요,
강의 정말 잘 듣고 있습니다. 여태까지 들어본 강의중에 김영한님 강의들이 가장 도움이 많이 되는것 같습니다. 단방향 연관관계 동영상을 보고 난 후, Team 클래스에서 @Column("TEAM_ID")를 지우고 실행도 해보고, 테이블이름을 TEAM 말고 TEAMS로 설정도 해보고, Member 클래스에서는 @JoinColumn을 아예 지우고 해봤는데도 매번 잘 실행되더라구요. 어떻게 저런 어노테이션들이 없어도 모두 제대로 실행되는지 헷갈리네요.. JPA를 배우는게 처음이라 잘 이해도 안가고 인터넷도 찾아봤지만 답이 안나와서 질문 드립니다. 공부할때 가끔가다 한번씩 별거 아닌데도 갑자기 헷갈리기 시작할때가 있더라구요..
감사합니다.
답변 5
1
감사합니다. 궁금한게 시원하게 해결되었네요 ㅎㅎ 강의만 만드시는게 아니고 질문에 대한 답변들도 빠르게 잘 해주시니 배울때 많은 도움이 되네요. 이번 강의 끝난 후 다른 강의들도 수강하러 가겠습니다!
1
안녕하세요. Juhyeon Lee님^^
먼저 @JoinColumn이 없으면 디폴트 전략으로 외래키 컬럼을 자도응로 생성합니다^^ 그리고 @JoinColumn에서 referencedColumnName이라는 속성이 있는데요. 이 속성의 기본값이 대상 테이블의 PK를 자동으로 지정합니다.
그래서 자동으로 잘 동작한 것입니다^^
도움이 되셨길 바래요.
0
0
@JoinColumn의 name은 외래키 컬럼 이름 입니다^^
그리고 referencedColumnName은 참조할 대상 테이블의 PK 이름이라 보시면 됩니다^^ 그러니까 조인할 대상 테이블의 컬럼이름이지요^^ referencedColumnName은 가급적 지정하지 않고 디폴트로 사용하는 것을 권장합니다.
감사합니다.
0
늦은 시간에 답변 감사합니다~ @JoinColumn의 name은 데이터베이스 테이블에서 보여질 컬럼명이고 referencedColumnName은 FK로 쓰일 연관관계 매핑 된 테이블의 컬럼명을 설정해주면 된다고 이해해도 되는건가요?
다시 한번 감사드립니다!