※ 실습 도중에 H2 데이터베이스 1.4.200 버전에서 발생하는 문제가 있어서 삭제 후 1.4.119로 변경하였습니다.
https://www.inflearn.com/questions/17219
- 실습용 데이터 베이스 다운로드(H2 Database Engine Download)
https://www.h2database.com/html/main.html
- 최고의 실습용 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
- -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
- 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>
- 위의 버전들을 쓴 이유
Hibernate사이트에 있는 최신 버전들을 사용하지 않고 위 버전을 사용하는 이유는 여러가지가 있습니다. 하지만 저희는 실무에서 Spring Framework랑 엮어서 사용합니다. 그래서 Spring 또는 Spring Boot사이트에서 Reference Doc > Dependency Versions에 매칭된 버전을 사용합니다.
https://spring.io/projects/spring-boot#learn
- H2 기존 테이블 삭제
DROP TABLE IF EXISTS 테이블이름 ;
- H2 기존테이블 삭제가 안될 경우
- 모든 종속 뷰 삭제 옵션 추가
https://www.tutorialspoint.com/h2_database/h2_database_drop.htm
DROP TABLE IF EXISTS 테이블이름 CASCADE;
출처
https://www.inflearn.com/course/ORM-JPA-Basic/dashboard
'JPA 프로그래밍' 카테고리의 다른 글
[자바 ORM 표준 JPA 프로그래밍] 엔티티 매핑 - 필드와 컬럼 매핑, 기본키 매핑 ( 2/3 ) (0) | 2021.06.29 |
---|---|
[자바 ORM 표준 JPA 프로그래밍] 엔티티 매핑 - 객체와 테이블 매핑, DB 스키마 자동 생성( 1/3 ) (0) | 2021.06.29 |
[자바 ORM 표준 JPA 프로그래밍] 영속성 관리 (0) | 2021.06.26 |
[자바 ORM 표준 JPA 프로그래밍] Hello World 프로젝트 ( 2/2 ) (0) | 2021.06.13 |
[자바 ORM 표준 JPA 프로그래밍] 들어가며 (0) | 2021.06.10 |