방명록
- [Spring Boot][문제해결] org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL⋯2022년 09월 07일 14시 10분 47초에 업로드 된 글입니다.작성자: DandyNow728x90반응형
org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL "create table posts (id bigint not null auto_increment, author varchar(255), content TEXT not null, title varchar(500) not null, primary key (id)) engine=InnoDB" via JDBC Statement
"이동욱. (2019). 스프링 부트와 AWS로 혼자 구현하는 웹 서비스. 프리텍"으로 실습 중에 만나게 된 에러이다. 99~100쪽을 실습 중이었고 H2 쿼리 로그를 MySQL 버전으로 출력되게 하기 위해 추가한 설정으로 인해 발생한 에러이다. 아래는 application.properties에 추가한 문제의 설정이다.
pring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
이 문제는 MySQL5InnoDBDialect 이 Deprecated 된 것이 원인이다(스프링 부트 2.7.3에서 실습 중이었음). 따라서 위 코드 대신 아래의 코드로 설정하면 된다.
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL57Dialect spring.jpa.properties.hibernate.dialect.storage_engine=innodb spring.datasource.hikari.jdbc-url=jdbc:h2:mem://localhost/~/testdb;MODE=MYSQL
참고: https://github.com/jojoldu/freelec-springboot2-webservice/issues/67
추가: H2 DB 접속 에러 관련
Database "mem:testdb" not found, either pre-create it or allow remote database creation (not recommended in secure environments) [90149-214] 에러 관련
이후 실습 중에 [그림 2]와 같이 H2 DB 접속 에러가 발생했다. JDBC URL 설정이 application.properties와 달랐기 때문이다. 따라서 application.properties에서 해당 설정을 아래와 같이 수정하면 된다.
spring.datasource.hikari.jdbc-url=jdbc:h2:mem:testdb;MODE=MYSQL
728x90반응형'언어·프레임워크 > Spring Boot' 카테고리의 다른 글
다음글이 없습니다.이전글이 없습니다.댓글