JPA

1-1. JPA 시작하기

희구 2021. 7. 28. 20:14

 

  • Hello JPA - 프로젝트 생성
  • Hello JPA - 애플리케이션 개발

 

H2데이터 베이스 설치와 실행

  • http://www.h2database.com/
  • 가볍다. (1.5M)
  • 웹용 쿼리툴 제공
  • MySQL, Oracle 데이터베이스 시뮬레이션 기능
  • 시퀀스, Auto Increment 기능 지원

 

 

 

 


 

메이븐 소개

  • http://maven.apache.org/
  • 자바 라이브러리, 빌드 관리
  • 라이브러리 자동 다운로드 및 의존성 관리
  • 최근에는 그래들(Gradle)이 점점 유명

 


프로젝트 생성

  • 자바 8 이상 권장
  • 메이븐 설정
    • groupID : jpa-basic
    • artifactId: ex1-hello-jpa
    • version: 1.0.0

 

File -> new -> project 선택

 

Maven 선택

 

프로젝트 이름 및 위치 등 선택 해주고 Finish

 

 

  • 메이븐을 사용 할 땐 pom.xml에 라이브러리를 추가해 주어야 한다.
    pom.xml에 라이브러리를 추가 하기 전 모습

    dependency로 필요한 라이브러리 추가

    위 라이브러리를 추가하면 필요한 것 들이 의존성 주입 된다.
    * 주의 점 :  H2데이터베이스 버전은 내가 다운 받은 버전과 동일하게 설정해야 한다.

JPA 설정하기 - persistence.xml

jpa는 java처럼 바로 Hello World를 띄울 수 있는 것이 아니다.
jpa를 사용하려면 설정 파일을 넣어주어야 한다.
그 파일이 바로 persistence.xml

persistence.xml파일 생성

파일 위치 중요! 
src/resources/META-INF(폴더 생성해주기) /persistence.xml 위치

persistence.xml 파일

 

데이터베이스 방언

  • JPA는 특정 데이터베이스에 종속되지 않는다
  • 각각의 데이터베이스가 제공하는 SQL 문법과 함수는 조금씩 다르다
    • 가변문자: MySQL은 VARCHAR ,Oracle은 VARCHAR2
    • 문자열을 자르는 함수 : SQL표준은 SUBSTRING(), Oracle은 SUBSTR()
    • 페이징 : MySQL은 LIMIT, Oracle은 ROWNUM 
  • 방언 : SQL 표준을 지키지 않는 특정 데이터베이스만의 고유한 기능

    hibernate 전용

예를 들어 내가 MySQL 드라이버를 사용한다면?

저 부분에 .MySQLDialect 라고 써주면 된다.
오라클이면 OracleDiaclect를 써준다.

이렇게  데이터베이스 방언을 처리해준다!!! 하나하나 수정하지 않아도 됨!!  (너무 좋은 듯)

 

Hiernate말고 다른 걸 쓸 땐 다른 걸로 바꿔줘야한다고함.

 

 


 

 

[출처] 김영한님의 자바 ORM 표준 JPA 프로그래밍 - 기본편

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