인프런 커뮤니티 질문&답변

Hafthor Wheels님의 프로필 이미지
Hafthor Wheels

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

상속관계 매핑

<property name="hibernate.hbm2ddl.auto" value="create" /> 로 설정해도 main 재시작시 오류가 뜹니다.

해결된 질문

작성

·

356

7

강사님 강의 잘 듣고 있습니다.

제목에 적힌대로 ddl.auto 값을 create로 설정했는데도 매번 main을 실행할 때 "CommandAcceptanceException" 이 발생합니다. 

로그를 살펴보면 Caused by: org.h2.jdbc.JdbcSQLSyntaxErrorException: Cannot drop "ACCOUNT" because "FKNNYFLHE0WA6DSBPQ4OI831LOT" depends on it; SQL statement:

이런식으로 나오는데요, 한마디로 ddl전략이 create시 선 테이블 drop, 후 create를 하는데 이 drop의 과정에서 pk fk 관계가 얽혀서 나중에 drop 해야만 하는게 있는거 같은데요, 맞나요?

이럴경우도 깔끔하게 create 할 수는 없을까요?

감사합니다.

답변 4

8

김영한님의 프로필 이미지
김영한
지식공유자

메이븐은 하이버네이트 버전항목에 5.4.14.Final로 설정하면 됩니다^^!

<dependency>

    <groupId>org.hibernate</groupId>

    <artifactId>hibernate-entitymanager</artifactId>

    <version>5.4.14.Final</version>

</dependency>

3

김영한님의 프로필 이미지
김영한
지식공유자

h2 데이터베이스를 1.4.200으로 유지하면서 문제를 해결할 수 있는 하이버네이트 패치가 드디어 나왔습니다.

build.gradle 파일에 다음 한줄을 추가해주시면 됩니다.

ext["hibernate.version"] = "5.4.14.Final"

감사합니다^^

1

오우굿! 땡큐요!

1

https://www.inflearn.com/course/ORM-JPA-Basic/lecture/21707

의 제일 첫번째 질문하신분이 자문자답 해주셨었네요! 이대로 하니 잘 됩니다.

Hafthor Wheels님의 프로필 이미지
Hafthor Wheels

작성한 질문수

질문하기