[Spring sql syntax error] spring jpa You have an error in your SQL syntax;

devguri·2023년 2월 7일
0
post-thumbnail

spring jpa You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use nea

오류 원인

현재 like 테이블에 접근하여 userId가 현재 나의 유저인 경우의 데이터를 select 해오는 구문을 작성했었다.
근데 위와 같은 오류가 났고 그 오류를 파악해보았다!

@Entity
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@Table(name = "like")
public class Like extends BaseEntity {

  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  @Column
  private Long id;

  @NotNull
  @ManyToOne(fetch = FetchType.LAZY)
  @JoinColumn(name = "story_id")
  private Story story;
  
}

❓처음에는 연관관계 오류이거나, entity 매핑 오류로 오타가 난거라 생각했다.

그래서 연관관계를 제대로 확인하고 이름까지 확인했는데 오류는 계속 되었었다.

오류 원인은 !
바로 sql 예약어인 like가 현재 테이블명과 겹쳐서 발생한 것이었다. sql의 like예약어로 테이블명을 사용했기 때문에 발생한 문에였다..!

@Entity
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@Table(name = "like")

그래서 다음과 같이 like -> likes 를 통하여 테이블명을 바꿔주었다.

그랬더니 오류 해결,,,

앞으로 네이밍 지을때 예약어를 조심하도록 하자!!

profile
Always live diligently

0개의 댓글