본문 바로가기

JPA 프로그래밍

[자바 ORM 표준 JPA 프로그래밍] Hello World 프로젝트 ( 1/2 )

※ 실습 도중에 H2 데이터베이스 1.4.200 버전에서 발생하는 문제가 있어서 삭제 후 1.4.119로 변경하였습니다.

https://www.inflearn.com/questions/17219

 

기존 테이블이 삭제되지 않는 문제.. - 인프런 | 질문 & 답변

안녕하세요 영한님 강좌를 보며 예제를 따라하던중 제 프로젝트가 영한님과 다르게 실행되는것 같아 질문을 올립니다 hibernate.hbm2ddl.auto = create 인 상황에서 프로젝트를 실행하면 기존에 생성되

www.inflearn.com

 

- 실습용 데이터 베이스 다운로드(H2 Database Engine Download)

https://www.h2database.com/html/main.html

 

H2 Database Engine

H2 Database Engine Welcome to H2, the Java SQL database. The main features of H2 are: Very fast, open source, JDBC API Embedded and server modes; in-memory databases Browser based Console application Small footprint: around 2 MB jar file size     Suppor

www.h2database.com

  • 최고의 실습용 DB
  • 가볍다( 1.5M )
  • 웹용 쿼리툴 제공
  • MySql, Oracle 데이터베이스 시물레이션 기능
  • 시퀀스, AUTO INCREMENT 기능 지원

- 방법 ( 윈도우 기준 )

1) 윈도우커맨드(cmd) 실행

2) 설치된 경로 이동(cd ~) 후 /h2.bat 실행

 

※ 실행 시 열리는 cmd 창을 종료 시 h2서비스를 종료하는 것과 동일하므로 h2 데이터베이스를 유지가 필요한 경우 종료 시키면 안됩니다.

 

- 8082 포트가 사용 중일 경우 아래 프로세스 진행

1) 윈도우커맨드(cmd) 실행

2) 8082 포트 사용 중인 프로세스 확인

netstat -ano | findstr 8280

 

3) pid로 어떤 프로세스에서 사용 중인지 확인

tasklist | findstr 10712

4) 해당 프로세스 강제종료

taskkill /f /pid 10712

5) 8082 포트 다시 확인 -> 사용 중인 프로세스 없음 확인

netstat -ano | findstr 8280

 

 

 

- 윈도우 터미널 옵션

https://www.windowscentral.com/how-use-netstat-command-windows-10

 

Getting started with netstat to troubleshoot network issues on Windows 10

In this guide, we'll show you the steps to get started using the netstat command tool to view network activities statistics to discover open and connected network ports to monitor and troubleshoot network problems on Windows 10.

www.windowscentral.com

  • -a명령은 모든 활성 및 비활성 연결과 장치가 현재 수신하고있는 TCP 및 UDP 포트를 표시
  • -n명령은 주소와 포트를 숫자 형식으로 표시
  • -o 명령은와 같은 모든 활성 TCP 연결 netstat을 표시하지만 각 연결에 대한 프로세스 ID (PID)를 표시하기 위해 다섯 번째 열을 추가한다는 차이점이 있습니다. 이보기에서 사용할 수있는 프로세스는 작업 관리자의 "세부 정보"탭에서 동일하며 연결을 사용하는 응용 프로그램도 표시 

 

- h2 console에 아래와 같이 연결이 안될 경우

1. h2 콘솔을 킨 다음 jdbc:h2:~/test를 입력한 후 연결 버튼을 눌러 DB 파일을 생성한 후에 진행하면 됩니다.

 

- 프로젝트 생성

  • Java 8 이상(8권장)
  • Maven 설정
    • Group id : jpa-basic
    • atifactId : ex1-hello-jpa
    • version : 1.0.0

https://github.com/oss0202/ex1-hello-jpa

 

oss0202/ex1-hello-jpa

JPA Hello World. Contribute to oss0202/ex1-hello-jpa development by creating an account on GitHub.

github.com

 

- pom.xml dependency 추가

    <dependencies>
        <!-- JPA 하이버네이트 -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>5.3.10.Final</version>
        </dependency>
        
        <!-- H2 데이터베이스 -->
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <version>1.4.199</version>
        </dependency>
    </dependencies>

 

- 위의 버전들을 쓴 이유

https://hibernate.org/orm/

 

Your relational data. Objectively. - Hibernate ORM

Idiomatic persistence for Java and relational databases.

hibernate.org

Hibernate사이트에 있는 최신 버전들을 사용하지 않고 위 버전을 사용하는 이유는 여러가지가 있습니다. 하지만 저희는 실무에서 Spring Framework랑 엮어서 사용합니다. 그래서 Spring 또는 Spring Boot사이트에서 Reference Doc > Dependency Versions에 매칭된 버전을 사용합니다.

https://spring.io/projects/spring-boot#learn

 

Spring Boot

Get support Spring Runtime offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription. Learn more

spring.io

 

- H2 기존 테이블 삭제

DROP TABLE IF EXISTS 테이블이름 ;

 

- H2 기존테이블 삭제가 안될 경우

  • 모든 종속 뷰 삭제 옵션 추가

https://www.tutorialspoint.com/h2_database/h2_database_drop.htm

 

H2 Database - Drop - Tutorialspoint

H2 Database - Drop DROP is a command taken from the generic SQL grammar. This command is used to delete a database component and its structure from the memory. There are different scenarios with the Drop command that we will discuss in this chapter. Drop T

www.tutorialspoint.com

DROP TABLE IF EXISTS 테이블이름 CASCADE;

 

 

 

출처

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

 

자바 ORM 표준 JPA 프로그래밍 - 기본편 - 인프런 | 강의

JPA를 처음 접하거나, 실무에서 JPA를 사용하지만 기본 이론이 부족하신 분들이 JPA의 기본 이론을 탄탄하게 학습해서 초보자도 실무에서 자신있게 JPA를 사용할 수 있습니다., 본 강의는 자바 백엔

www.inflearn.com