반응형
문제 상황
- 게시판 구현 시 좋아요(Like) 테이블을 생성해서 사용하려 함
- Like Entity 생성 후 ddl-auto를 create로 설정하고 프로젝트 실행하였지만, Like Table이 생성되지 않았음
- 프로젝트는 실행되지만 아래의 에러가 발생한 것을 확인하였음
- org.hibernate.tool.schema.spi.CommandAcceptanceException
- java.sql.SQLSyntaxErrorException
원인
- like는 MySQL의 명령어이기 때문에 Table 이름을 like로 지정할 수 없었음
- 이와 비슷한 상황으로 rank라는 column을 사용한 경우에도 테이블이 생성되지 않았음
해결 방법
- Entity Class 이름 변경
- Like -> Likes, Good, Heart, ...
- Entity 이름은 그대로 사용하지만 @Table 어노테이션을 사용해 테이블 이름만 변경
@Entity
@Table(name = "likes")
public class Like {
}
- Entity와 테이블 이름을 "like"로 사용하고 싶다면 아래와 같이 이름 설정
@Entity
@Table(name = "\"like\"")
public class Like {
}
- 위와 같이 설정 시 테이블 이름도 like로 생성 됨
- Column 이름도 마찬가지로 이름을 변경하거나 아래와 같이 설정해주면 됨
@Column(name = "\"rank\"")
private String rank;
반응형
'Trouble Shooting' 카테고리의 다른 글
[RDS MySQL] Too many connections 해결 방법 (0) | 2023.05.03 |
---|---|
[Spring Boot] 프로젝트 TimeZone 설정 (0) | 2023.04.19 |
[Spring Boot] Jpa Delete 안될때 해결 방법 (CascadeType.REMOVE, OrphanRemoval, Soft Delete) (0) | 2023.01.15 |