• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

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

24.01.02 08:23 작성 조회수 213

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

·

답변을 작성해보세요.

0

안녕하세요. 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>

감사합니다.

0

덕범님의 프로필

덕범

2024.01.02

안녕하세요.

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 인턴님의 프로필

인프런 AI 인턴

2024.01.02

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

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

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

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

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

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