hanker

Spring JPA - referencedColumnName (feat. @JoinColumn) 본문

SPRING

Spring JPA - referencedColumnName (feat. @JoinColumn)

hanker 2021. 5. 27. 10:13

@JoinColumn 어노테이션의 속성을 보면 name, insertable, updatable 등등 속성이 있다.

저 속성들 중에 referencedColumnName에 대해 알아보자

 

우선 조인할 테이블의 기본키를 외래키로 사용하는 경우 

@JoinColumn(name = "bno")  - 이렇게 name 속성을 사용해서 조인을 한다.

 

근데 조인할 테이블의 기본키가 아닌 경우 오류가 발생한다. (오류내용은 다를 수 있음)

com.mysql.cj.exception.DataConversionException : Cannot determine value type from string 'auth' 

 

조인할 대상 테이블의 기본키가 아닌 컬럼을 외래키로 지정하기 위해 referencedColumnName속성을 사용한다.

@JoinColumn(name = "bTitle", referencedColumnName = "bTitle")

 

즉 referencedColumnName을 사용하지 않으면 기본값으로 기본키로 잡게 되어 오류가 난다.

PK를 외래키로 지정하지 않을때 사용하면 된다.