Error Document/Spring

[Spring Boot] JPA 테이블 생성 오류 - Error executing DDL "create table

JeongKyun 2022. 6. 8.
반응형

에러 문구

해당 에러문구는 이미 데이터베이스의 예약어가 존재하여 발생하는 에러이다.

 

필자같은 경우는 User라는 entity를 사용하여 문제가 발생했으며

User -> Users로 수정하여 해당 문제를 해결하였다.

 

entity의 명이 문제가 아니더라도 컬럼으로 사용할 변수명이 예약어로 되어있어도 오류가 발생한다.

 

예를 들어, 아래와 같은  상황이다.

 

join 예약어 컬럼 사용시 동일한 DDL 에러 발생

위와 같이 join이라는 엔터티의 컬럼으로 사용하고 빌드 시 동일한 DDL 에러가 발생하는 것을 확인할 수 있다. 이와 같이 JPA를 사용하는 엔터터에서 예약어를 고려하여 잘 설계해보자.

 

 

에러 전문 보기

더보기

org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL "create table user (user_id integer not null, join_date timestamp, uesr_ssn varchar(255), user_name varchar(255), user_password varchar(255), primary key (user_id))" via JDBC Statement
at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:67) ~[hibernate-core-5.6.9.Final.jar:5.6.9.Final]
at org.hibernate.tool.schema.internal.SchemaCreatorImpl.applySqlString(SchemaCreatorImpl.java:458) [hibernate-core-5.6.9.Final.jar:5.6.9.Final]
at org.hibernate.tool.schema.internal.SchemaCreatorImpl.applySqlStrings(SchemaCreatorImpl.java:442) [hibernate-core-5.6.9.Final.jar:5.6.9.Final]
at org.hibernate.tool.schema.internal.SchemaCreatorImpl.createFromMetadata(SchemaCreatorImpl.java:325) [hibernate-core-5.6.9.Final.jar:5.6.9.Final]
at org.hibernate.tool.schema.internal.SchemaCreatorImpl.performCreation(SchemaCreatorImpl.java:169) [hibernate-core-5.6.9.Final.jar:5.6.9.Final]
at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation(SchemaCreatorImpl.java:138) [hibernate-core-5.6.9.Final.jar:5.6.9.Final]
at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation(SchemaCreatorImpl.java:124) [hibernate-core-5.6.9.Final.jar:5.6.9.Final]
at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:168) [hibernate-core-5.6.9.Final.jar:5.6.9.Final]
at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:85) [hibernate-core-5.6.9.Final.jar:5.6.9.Final]
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:335) [hibernate-core-5.6.9.Final.jar:5.6.9.Final]
at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:471) [hibernate-core-5.6.9.Final.jar:5.6.9.Final]

댓글

💲 많이 본 글