JPA : JdbcSQLSyntaxErrorException: Syntax error in SQL statement " ALTER TABLE ORDER[*]

    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'로 변경해주자 정상적으로 빌딩 되는 것을 확인했다. 

    댓글

    Designed by JB FACTORY