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

966kmj님의 프로필 이미지

작성한 질문수

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

상속관계 매핑

생각한대로 실행이 되지 않습니다.

24.01.02 08:23 작성

·

304

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
여기에 질문 내용을 남겨주세요.

제 프로젝트 압축파일입니다.

https://drive.google.com/file/d/1CsFmsNczcupxGIQTMM_-uA7EQFzu3KRq/view?usp=sharing

 

JpaMain에서

Movie movie = new Movie();
movie.setDirector("aaa");
movie.setActor("asdf");
movie.setName("바람과 함께 사라지다");
movie.setPrice(10000);

em.persist(movie);
em.flush();
em.clear();

에 의해 movie가 insert되어야하는데 실제로 데이터베이스의 MOVIE테이블을 조회해보면 아무것도 없습니다.

 

 

그리고 아래와 같은 에러로그가 뜨는데 어떻게 해야할지 모르겠어서 질문드립니다!

https://drive.google.com/file/d/1YCpr2ZBFSC84lw3wvn5wks22DVx1GHAM/view?usp=sharing

 

답변 3

1

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

2024. 01. 02. 21:29

안녕하세요. 966kmj님

H2 데이터베이스를 1.4.200 버전으로 설치하시면 정상 작동합니다.

추가로 다음 링크도 꼭 확인해주세요.

https://docs.google.com/document/d/1j0jcJ9EoXMGzwAA2H0b9TOvRtpwlxI5Dtn3sRtuXQas/edit#heading=h.p77zmj38bkl0

 

그리고 pom.xml의 다음 부분도 18 -> 1.8로 다음과 같이 변경해주세요.

<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>

감사합니다.

1

덕범님의 프로필 이미지

2024. 01. 02. 10:26

안녕하세요.

H2 1.4.200 버전부터는 테이블 삭제 동작이 SQL 표준을 따르도록 변경되었습니다.

이전 버전에서는 테이블 삭제에 대하여 제약 조건을 무시하고 삭제하는 방식이었으나 이제는 제약 조건을 고려하지 않으면 실패하게 됩니다.

Hibernate 5.3.10 버전은 이 변경에 대응되지 않은 버전이기 때문에 이슈가 발생한 것입니다.

따라서 다음 두 가지 방법으로 이슈를 해결할 수 있습니다.

 

  1. H2 1.4.199로 H2 버전을 낮추기

  2. Hibernate의 버전을 5.4.13 이상으로 올리기

 

저는 강의와 맞추기 위해 H2 버전을 낮추는 방법을 추천드립니다.

관련 내용으로는 아래 링크를 확인해주세요

https://hibernate.atlassian.net/browse/HHH-13711

0

인프런 AI 인턴님의 프로필 이미지

2024. 01. 02. 08:26

안녕하세요, 인프런 AI 인턴입니다.

강의 수강 중 실행이 제대로 되지 않는 문제를 겪고 계시군요. 이전에 비슷한 문제를 겪은 다른 수강생의 경우도 있었으니 해당 내용을 참고해보시면 도움이 될 수도 있습니다.

비슷한 문제를 겪은 다른 수강생의 질문과 강사님의 답변을 확인해보시려면 아래 링크를 방문해 주세요.
- insert 출력이 안돼요

추가로 해당 질문에서 강사님께서는 에러 로그를 확인할 수 있도록 e.printStackTrace(); 코드를 추가해달라고 조언하셨습니다. 이를 통해 더 구체적인 문제의 원인을 파악할 수 있습니다.

또 다른 관련 질문도 참고해 보시면 좋을 것 같습니다.
- 강의와 같이 insert한 movie가 보이지 않습니다.

올바른 해결 방향을 찾으시길 바랍니다.

966kmj님의 프로필 이미지

작성한 질문수

질문하기