※ 오늘부터 인프런에서 강의를 진행중이신 김영한 강사님의 JPA 기본편을 들으면서 하나씩 정리하려고 한다.
Java version : 11
DB : H2 (1.4.199)
프로젝트를 생성하기에 앞서 하나만 짚고 넘어가자!
JPA는 특정 데이터베이스에 종속되어 있지 않다.
이말인 즉슨 만약 DB를 Mysql 에서 Oracle로 변경하면
기존에 관계형 데이터베이스에서는 수정해야할 부분이 많았지만
JPA는 이러한 부분에서 알아서 변형해서 사용한다!!
이 점을 참고하여 아래 persistence.xml 설정 중 Dialect를 참고하자!
1. 프로젝트 생성
intellij > File > New > Project > Maven 선택 + 이름 설정 후 Finish!
2. pom.xml에 dependencies 추가
<?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>jpa-basic</groupId>
<artifactId>ex1-hello-jpa</artifactId>
<version>1.0.0</version>
<dependencies>
<!-- JPA 하이버네이트 -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.4.23.Final</version>
</dependency>
<!-- H2 데이터 베이스 -->
<!-- 다운로드 받은 H2 DB랑 버전을 맞춰야 에러가 안난다. -->
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.199</version>
</dependency>
</dependencies>
</project>
3. persistence.xml 파일 생성( 표준 위치가 정해져있음 → /META-INF/persistence.xml )
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.2"
xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<persistence-unit name="hello">
<properties>
<!-- 필수 속성 : 데이터베이스 접근 정보 -->
<property name="javax.persistence.jdbc.driver" value="org.h2.Driver"/>
<property name="javax.persistence.jdbc.user" value="sa"/>
<property name="javax.persistence.jdbc.password" value="sa"/>
<property name="javax.persistence.jdbc.url" value="jdbc:h2:tcp://localhost/~/cutelovecat"/>
<!-- 아래 그림과 같이 DB 별로 이 부분 수정해줘야한다.
만약 Mysql이면 MySQLDialect를 사용해야함 -->
<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
<!--옵션-->
<property name="hibernate.show_sql" value="true"/>
<property name="hibernate.format_sql" value="true"/>
<property name="hibernate.use_sql_comments" value="true"/>
<!--<property name="hibernate.hbm2ddl.auto" value="create"/>-->
</properties>
</persistence-unit>
</persistence>
★ 어떤 DB를 사용하더라도 JPA가 알아서 쿼리를 생성한다.
'JAVA' 카테고리의 다른 글
[JAVA] JPA 영속성 관리 (0) | 2021.11.09 |
---|---|
[JAVA] JPA 애플리케이션 개발 (0) | 2021.11.02 |
[JAVA] JPA란? (0) | 2021.09.09 |
[JAVA] build (0) | 2021.03.24 |
[JAVA] 인터페이스 (0) | 2021.03.24 |