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

김세희님의 프로필 이미지
김세희

작성한 질문수

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

Hello JPA - 애플리케이션 개발

서포터즈님들 혹시 구글 드라이브를 통해 파일을 업로드 하면 좀 봐주실 수 있나요

작성

·

461

0

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
설정에서 계속 막혀서 진행이 안 됩니다. 자주 하는 질문 파일에 나온 방법대로 올리면 확인 해주실 수 있나요

답변 1

0

안녕하세요. 김세희님, 공식 서포터즈 OMG입니다.

강의 수강 중 겪는 어려움에 대한 도움은 언제든입니다 😀

 

실제 동작하는 전체 프로젝트를 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.

구글 드라이브 업로드 방법은 다음을 참고해주세요.

https://bit.ly/3fX6ygx


주의: 업로드시 링크에 있는 권한 문제 꼭 확인해주세요

 

추가로 다음 내용도 코멘트 부탁드립니다.

1. 문제 영역을 실행할 수 있는 방법

2. 문제가 어떻게 나타나는지에 대한 상세한 설명


링크: 공식 서포터즈

링크: 자주하는 질문

 

감사합니다.

김세희님의 프로필 이미지
김세희
질문자

https://drive.google.com/file/d/13j8u8QN5MN9aV-KKRTNssCNg1wA4SPgM/view?usp=drive_link

링크 입니다

 

h2 데이터베이스 연결까지는 되었고 pom.xml과 persistence.xml을 그대로 복붙했지만 코드 실행시 오류가 납니다. 자바 19버전을 사용해서 버전 문제인가 하여 관련된 조치를 취해도 해결을 하지 못했습니다.

프로젝트 코드 확인하려고 링크를 열어봤으나 접근이 불가능합니다.

image

주의: 업로드시 링크에 있는 권한 문제 꼭 확인해주세요

 

자주하는 질문을 참고하여 링크 있는 사용자가 접근 가능하도록 조회 권한 설정을 수정해주세요 😀

 

김세희님의 프로필 이미지
김세희
질문자

죄송합니다 권한 다시 설정했습니다. 확인해 주실 수 있나요?

프로젝트 코드 확인해보았습니다.

JDK19 Amazon correto 19.0.2를 설치하신 것 같더라구요.

저도 동일하게 해당 jdk를 설치하였습니다.

 

이후 Maven에서 버전 관련 오류가 보여

project에서 버전 세팅을 자바 19로 변경하였습니다.

 

Project Settings 진입방법

: Window > ctrl + alt +shift + s

: Mac > command + ;

 

project Settings >

Project

image

Modules

image

Platform Settings >

SDKs

image

추가로 pom.xml을 아래와 같이 수정하였습니다.(복사하여 사용해주세요. 복사 후 아래 캡쳐의 버튼을 클릭하여 reload를 해주세요.)

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>jpabasic</groupId>
    <artifactId>ex1</artifactId>
    <version>1.0.0</version>

    <properties>
        <!-- Java 버전 설정 -->
        <maven.compiler.source>19</maven.compiler.source>
        <maven.compiler.target>19</maven.compiler.target>
    </properties>

    <dependencies>
        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.3.1</version>
        </dependency>
        <!-- JPA 하이버네이트 -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>5.6.15.Final</version>
        </dependency>
        <!-- H2 데이터베이스 -->
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <version>2.2.224</version>
        </dependency>
    </dependencies>
</project>

 

image

 

마지막으로 persistence.xml의 아래 속성의 주석을 제거하고

image실행했을때 정상적으로 MEMBER테이블이 생성됨을 확인하였습니다.

 

참고로 h2의 비밀번호를 1로 해놓으셨더라구요.

image이 부분도 참고해주세요.

 

시도해보시고 막히는 부분이 있다면 댓글 남겨주세요 ^^

 

김세희님의 프로필 이미지
김세희
질문자

안녕하세요 말씀하신대로 했지만 아직 오류가 발생합니다.

EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello");

이 문장을 실행하면서 오류가 발생합니다.

 

 


오류 메세지 내용은 다음과 같습니다.

WARN: HHH000342: Could not obtain connection to query metadata

java.lang.IllegalStateException: Cannot get a connection as the driver manager is not properly initialized

 

ERROR: Connection is broken: "java.net.ConnectException: Connection refused: no further information: localhost" [90067-224]

Exception in thread "main" org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

 

Caused by: org.hibernate.exception.JDBCConnectionException: Error calling Driver#connect

 

Caused by: org.h2.jdbc.JdbcSQLNonTransientConnectionException: Connection is broken: "java.net.ConnectException: Connection refused: no further information: localhost" [90067-224]

 

Caused by: java.net.ConnectException: Connection refused: no further information

 

 

혹시 어느부분이 잘못된 것인가요?

persistence.xml에서

java.persistence

imagejakarta.persistence로 변경해서 확인해주시고 결과를 공유해주세요 😀

김세희님의 프로필 이미지
김세희
질문자

여전히 같은 오류가 발생합니다. 혹시 다시 프로젝트 압축해서 보내드리는 게 보기 편하실까요?

올려주신 오류메시지는 프로젝트 코드 확인보다는

h2 연결이 정상적으로 되어 있는지를 확인해봐야 할 것 같습니다.

 

JPA프로젝트 실행할 때 h2가 실행되어 있는 상태가 맞을까요?

C:\Users\OMG(계정명) 경로의 폴더로 가셔서 test.mv.db파일이 존재하는지도 확인 부탁드립니다.

 

 

그리고 한가지 신경 쓰이는 부분이

persistence.xml에서 password를 1로 하셨는데,

 

h2를 설치 후 접속하는 초기 과정에서 h2에서 비밀번호를 1로 입력하여 세팅하지 않았다면

persistence.xml에서 password를 1로하면 접속이 안됩니다.

(처음 연결 시도한 비밀번호를 persistence.xml에 비밀번호로 입력해야함)

image

연관되어 문제가 발생할 수 있으니 이부분도 참고가 되어야 할 것 같은데,

비밀번호를 1로 초기 세팅한게 맞을까요?

 

김세희님의 프로필 이미지
김세희
질문자

h2 재설치 후 해결했습니다. 자세한 답변 너무 감사합니다 ㅠ

김세희님의 프로필 이미지
김세희

작성한 질문수

질문하기