JPA 메인 함수를 작성하고, 돌리려고 시도를 하던 도중에 위와 같은 에러를 만났다. 다대다 연관관계를 다대일, 일대다 연관관계로 풀어주는 테이블에서 이런 에러가 발생했다.
@Entity
@Table(name = "ORDER")
public class MemberProduct {
@Id @GeneratedValue
@Column(name = "ORDER_ID")
private Long id;
@ManyToOne
@JoinColumn(name = "MEMBER_ID")
private Member member;
@ManyToOne
@JoinColumn(name = "PRODUCT_ID")
private Product product;
private int orderAmount;
private LocalDate orderDate;
}
- 첫 코드는 이랬는데, 문제가 발생했다. 이 때 @Table, @Id쪽의 @Column을 지우니 정상적으로 빌드가 되었다.
- @Id쪽 @Column을 원복했는데 정상적으로 빌딩이 되었다.
- @Table을 원복했더니 비정상적으로 빌드가 되었다.
알고보니 order라는 것이 관습적으로 JPA에서 쓰이기 때문에 Table 명으로 사용하게 되면 에러가 발생한다고 한다.
@Entity
@Table(name = "ORDERS")
Table명을 'ORDERS'로 변경해주자 정상적으로 빌딩 되는 것을 확인했다.