상황 : mariaDB를 사용하여 테이블 구축. JPA의 연관관계에서 외래키 에러 발생
해결 : @Column(name = "user_id") 작성
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "user_id")
private Long id;
}
@JoinColumn(name = "user_id")
@ManyToOne
private User user;
@GeneratedValue(strategy = GenerationType.AUTO) 어노테이션과 함께 @Id 어노테이션만 사용하여 엔티티의 기본 키를 지정하는 경우, user 테이블의 기본 키 컬럼 이름은 "id"가 된다.
그러나 @Column(name = "user_id") 어노테이션을 추가하면, id 필드를 "user_id"라는 이름의 컬럼으로 매핑하게 된다.
이렇게 컬럼 이름을 명시적으로 지정해주면, 해당 이름으로 컬럼이 생성되어 테이블이 생성되는 과정에서 충돌이 발생하지 않는다.
'springboot' 카테고리의 다른 글
[SETTING] intellij에서 JAVA JDK 버전 바꾸기 (0) | 2023.11.30 |
---|---|
[용어] profile (0) | 2023.10.28 |
[JPA] @NotNull vs nullable = false (0) | 2023.08.13 |
error-Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException (0) | 2023.08.06 |