문제제기


hibernate.hbm2ddl.auto 옵션을 create로 정하고 데이터베이스 테이블을 생성했습니다.

생성한 테이블 구조는 Table간 join을 포함하는 구조로 진행했습니다.

처음 생성한 경우에는 잘 생성이 되었으나, 테이블이 있을 때, 다시 수행하는 경우 이전에 있는 Table을 지우는 과정에서 Error가 발생합니다.

Untitled

시행착오


오류 메시지를 살펴보면, CATEGORY가 다른곳에서 외래키로 매핑이 되어있다는 뜻입니다.

Untitled

삭제시 옵션을 줄 때, CASCADE를 주면 된다고 생각했지만, 문제는 hibernate측에서 DROP 시, 자동으로 삭제를 못해주는게 문제인 것 입니다.

https://github.com/hibernate/hibernate-orm/pull/3093

해당 문제를 경험한 사람들이 이미 많고 버전을 올리면서 수정이 이루어졌습니다.