작성
·
324
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
안녕하세요. 966kmj님
H2 데이터베이스를 1.4.200 버전으로 설치하시면 정상 작동합니다.
추가로 다음 링크도 꼭 확인해주세요.
그리고 pom.xml의 다음 부분도 18 -> 1.8로 다음과 같이 변경해주세요.
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
감사합니다.
1
안녕하세요.
H2 1.4.200 버전부터는 테이블 삭제 동작이 SQL 표준을 따르도록 변경되었습니다.
이전 버전에서는 테이블 삭제에 대하여 제약 조건을 무시하고 삭제하는 방식이었으나 이제는 제약 조건을 고려하지 않으면 실패하게 됩니다.
Hibernate 5.3.10 버전은 이 변경에 대응되지 않은 버전이기 때문에 이슈가 발생한 것입니다.
따라서 다음 두 가지 방법으로 이슈를 해결할 수 있습니다.
H2 1.4.199로 H2 버전을 낮추기
Hibernate의 버전을 5.4.13 이상으로 올리기
저는 강의와 맞추기 위해 H2 버전을 낮추는 방법을 추천드립니다.
관련 내용으로는 아래 링크를 확인해주세요
0
안녕하세요, 인프런 AI 인턴입니다.
강의 수강 중 실행이 제대로 되지 않는 문제를 겪고 계시군요. 이전에 비슷한 문제를 겪은 다른 수강생의 경우도 있었으니 해당 내용을 참고해보시면 도움이 될 수도 있습니다.
비슷한 문제를 겪은 다른 수강생의 질문과 강사님의 답변을 확인해보시려면 아래 링크를 방문해 주세요.
- insert 출력이 안돼요
추가로 해당 질문에서 강사님께서는 에러 로그를 확인할 수 있도록 e.printStackTrace();
코드를 추가해달라고 조언하셨습니다. 이를 통해 더 구체적인 문제의 원인을 파악할 수 있습니다.
또 다른 관련 질문도 참고해 보시면 좋을 것 같습니다.
- 강의와 같이 insert한 movie가 보이지 않습니다.
올바른 해결 방향을 찾으시길 바랍니다.