본문 바로가기
개발/서버

Unknown table 'SEQUENCES' in information_schema

by agong이 2025. 9. 22.

Situation (상황)

application.yml을 application-dev.yml, application-local.yml과 분리하던 도중 프로젝트를 실행하니, 애플리케이션을 실행시키자 아래와 같은 에러가 터졌습니다

Unknown table 'SEQUENCES' in information_schema
Unable to build Hibernate SessionFactory

 

처음에는 단순히 테이블이 없어서 생긴 문제라고 생각했는데, 사실 원인은 다른 데 있었습니다.

 

Task (과제)

문제를 찾아 보니, application.yml에 기존에 사용하던 h2 Dialect가 설정 되어 있었습니다.

spring:
  jpa:
    database-platform: org.hibernate.dialect.H2Dialect

spring: jpa: database-platform: org.hibernate.dialect.H2Dialect 하지만 실제로 사용 할 DB는 MySQL이었다.
즉 Hibernate가 H2 전용 Dialect로 실행되면서, MySQL에는 없는 SEQUENCE 전략을 적용해버렸습니다.
결과적으로 Hibernate가 information_schema.SEQUENCES를 조회하려다 에러가 발생했다.

따라서 해결 과제는 간단했습니다. 

Action (실행)

ID 생성 전략 점검 엔티티에서는 AUTO 대신 IDENTITY 전략을 사용하도록 바꿨습니다.

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

MySQL/MariaDB는 AUTO_INCREMENT 기반이기 때문에 IDENTITY 전략이 더 안전합니다.

 

application.yml에 Dialect 추가: Hibernate가 MySQL 방언을 사용하게 명시했습니다.

  jpa:
    properties:
      hibernate:
        dialect: org.hibernate.dialect.MySQLDialect

Result (결과)

애플리케이션이 정상적으로 실행되었고, 더 이상 SEQUENCES 테이블을 찾는 에러가 발생하지 않게 되었습니다.

댓글