[JAVA] JPA missing table error
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is jakarta.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is org.hibernate.tool.schema.spi.SchemaManagementException: Schema-validation: missing table [xxx]
프로젝트 설정을 하고 디버깅을 돌렸더니 이런 에러가 떴다.
해결 방법을 알아보고 여러가지를 바꾸고 해결할 수 있게 되었다.
에러가 생긴 이유
일단, 이렇게 에러가 된 이유는
mysql을 쓰려고 했던 설정을 mariDB로 바꾸면서 그 설정을 바꾸지 않아서 생긴 일이다.
에러 해결 방법
- 일단 entity 파일에서 @Table(name=”TB_USER”) 부분에서 name을 소문자로 바꾸었다. “tb_user”
-
application.yml 파일에서
spring: jpa: properties: hibernate: dialect: org.hibernate.dialect.MariaDB103Dialect
이 방언 부분에서 mysql로 적혀있었다. 그래서 되지 않았던 것이다. mariaDB용으로 바꾸었다.
그랬더니 디버깅이 잘 되었다!
해결 완료!!
Comments