[Spring] Table 'dbschema.hibernate_sequence' doesn't exist 에러 해결

    하이버네이트 자동 키 에러 해결

    이슈

    java.sql.SQLException: Table 'dbschema.hibernate_sequence' doesn't exist
        at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.readErrorPacket(AbstractQueryProtocol.java:1694) ~[mariadb-java-client-2.7.3.jar:na]
        at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.readPacket(AbstractQueryProtocol.java:1556) ~[mariadb-java-client-2.7.3.jar:na]

    해결

    • 개발용 스키마에 sql 로 직접 쿼리 날려서 테이블 생성하여 사용 중이었는데 전체 테이블을 다 밀었다. 그 과정에서 hibernate_sequence 가 날아가면서 생긴 일
    • 하이버네이트는 'hibernate_sequence'라는 키 생성 전용 테이블을 생성하여 엔티티의 키를 생성해준다.
    • 따라서 @GeneratedValue(strategy = GenerationType.AUTO) 를 쓰면 DB명.hibernate_sequence 가 필요하다
    • spring.jpa.hibernate.ddl-auto 옵션을 none 으로 두고 개발 중이었는데 다시 create 로 변경하여 새롭게 테이블을 싹 만들어서 다시 시작했다

    참고

    반응형

    댓글

    Designed by JB FACTORY