@JoinColumn의 name과 referencedColumnName 속성
·
Spring/스프링 Data JPA
@JoinColumn은 왜 사용할까요? 외래키 만드려고 사용해줍니다. 그런데 테이블과는 다르게 객체에서는 참조하는 테이블의 pk가 아닌, 참조 객체 그 잡채를 외래키로 작성하잖아요? 즉 DB와 다른 방식을 사용하는 것이므로 무언가 처리가 필요합니다. 그리고 그 처리를 해주는게 JPA 인데,JPA는 우리가 참조 객체를 써주면 자동으로 해당 객체의 pk를 찾아서 DB에 외래키로 작성해줍니다. (그래서 JPA를 ORM 기술이라고도 부르죵.) 기본적으로, JPA가 생성해주는 외래키 이름(name)은 "참조 필드 이름_참조하는 객체의 pk"예요. 근데 우리가 기본으로 생성해주는 외래키 이름말고, 다른 이름으로 바꿔서 테이블에 저장하고 싶을 수 있져? 그때 쓰라고 나온게 name 속성입니다. name 속성 알아보기..