Notice
Recent Posts
Recent Comments
Link
개발 무지렁이
[Error] Caused by: java.sql.SQLSyntaxErrorException: Table '[Table_name]' doesn't exist 본문
Backend/Error
[Error] Caused by: java.sql.SQLSyntaxErrorException: Table '[Table_name]' doesn't exist
Gaejirang-e 2023. 2. 14. 17:08JPA는 스네이크케이스로 테이블 이름을 생성한다 (관례상)
Caused by: java.sql.SQLSyntaxErrorException: Table 'fixed_spending' doesn't exist
Java는 엔티티를 만들 때, 관례상 [카멜케이스]를 사용한다.
JPA가 SQL을 생성할 때, Java의 [카멜케이스] 명명법을 [스네이크케이스] 명명법으로 변환해준다.
이전에는 문제가 없었는데 MYSQL 설정을 뭘 잘못 건드렸더니 갑자기 명명법 변환에 문제가 생겨보인다.
⭐ 해결방법1
@Entity(name="fixed_spending")
주로 엔티티 이름이 예약어일 때, 따로 이름을 붙여주는 방법인데,
Entity 어노테이션에 name속성을 붙여 직접 스네이크케이스로 이름을 지어준다.
(해결 x)
⭐ 해결방법2
[application.properties]
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
위의 설정은 JPA가 [카멜케이스 명명법]을 [스네이크케이스 명명법]으로 바꾸지 않는다.
(해결 0)
'Backend > Error' 카테고리의 다른 글
[Error] jQuery AJAX를 통해 전송한 데이터를 Controller에서 인식하지 못하는 경우 (0) | 2023.09.02 |
---|
Comments