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
- 메이븐을 사용 할 땐 pom.xml에 라이브러리를 추가해 주어야 한다.
pom.xml에 라이브러리를 추가 하기 전 모습 dependency로 필요한 라이브러리 추가
위 라이브러리를 추가하면 필요한 것 들이 의존성 주입 된다.
* 주의 점 : H2데이터베이스 버전은 내가 다운 받은 버전과 동일하게 설정해야 한다.
JPA 설정하기 - persistence.xml
jpa는 java처럼 바로 Hello World를 띄울 수 있는 것이 아니다.
jpa를 사용하려면 설정 파일을 넣어주어야 한다.
그 파일이 바로 persistence.xml
파일 위치 중요!
src/resources/META-INF(폴더 생성해주기) /persistence.xml 위치
데이터베이스 방언
- JPA는 특정 데이터베이스에 종속되지 않는다
- 각각의 데이터베이스가 제공하는 SQL 문법과 함수는 조금씩 다르다
- 가변문자: MySQL은 VARCHAR ,Oracle은 VARCHAR2
- 문자열을 자르는 함수 : SQL표준은 SUBSTRING(), Oracle은 SUBSTR()
- 페이징 : MySQL은 LIMIT, Oracle은 ROWNUM
- 방언 : SQL 표준을 지키지 않는 특정 데이터베이스만의 고유한 기능
hibernate 전용
예를 들어 내가 MySQL 드라이버를 사용한다면?
저 부분에 .MySQLDialect 라고 써주면 된다.
오라클이면 OracleDiaclect를 써준다.
이렇게 데이터베이스 방언을 처리해준다!!! 하나하나 수정하지 않아도 됨!! (너무 좋은 듯)
Hiernate말고 다른 걸 쓸 땐 다른 걸로 바꿔줘야한다고함.
[출처] 김영한님의 자바 ORM 표준 JPA 프로그래밍 - 기본편