You have an error in your SQL syntax; check the manual thatcorresponds to your MYSQL server version for the right syntax to use near
아무리봐도 syntax 에러를 발생시킬 속성이 존재하지 않았다.
에러 로그 그대로 구글링을 진행해봤을 때 대부분 예약어때문에 발생한다고 나와있었다.
@Id @GeneratedValue
private Long id;
private String title;
private String memo;
private String key;
private QrStatus qrStatus;
@Embedded
Address address;
@Embedded
PhoneNumber phoneNumber;
@Column(name="url", columnDefinition = "MEDIUMBLOB")
private String url;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "member_id")
private Member member;
private LocalDateTime createDate;
private LocalDateTime updateDate;
...
도대체 어디서 나는 에러란 말인가... 생각을 해봤는데 이전에는 잘 돌아갔는데 지금 안 되는거니까 새롭게 추가한 key, qrStatus 둘중 하나로 추려졌다!
ㅎㅎㅎㅎ 그렇다면 enum type인 qrStatus는 아닐테고 당연히 key!
근데 Key가 당연히 예약어가 아닌줄 알았다!
그래서 뻘짓이 시작되었다~
예약어 오류가 아니라 ddl을 create로 해놨는데 이것때문에 외래키에서 걸려서 alter table을 할 때 테이블을 찾지 못하는 에러인가 생각을 해봤다. 로그를 보니 alter table하고 create를 진행하는데 drop도 아니고 create라서 외래키 사이에서도 문제가 되어보이지 않았다.
그래서 혹시 key가 설마 예약어인가 찾아봤다.
private String qrcodeKey;
로 냅다 바꾸고 spring data jpa에서 key를 사용해서 findQrcode를 진행중이였기에 findQrcodeByQrcodeKey로 바꾸고 다시 돌리니가 정상적으로 돌아갔다
혹시나가 역시나...!
내가 생각한대로 지레짐작 하지 말자,,,,^^ 일단 코드로 돌려보자