
JPA 프로그래밍(기본편) 1 - JPA 설정하기
의존성 추가하기
JPA를 사용하기 위해서 JPA를 구현한 hibernate 라이브러리를 사용한다. DB로는 메모리 DB인 H2 DataBase를 사용하도록 한다.
 <dependency>     <groupId>org.hibernate</groupId>     <artifactId>hibernate-entitymanager</artifactId>     <version>5.3.10.Final</version> </dependency>
  <dependency>     <groupId>com.h2database</groupId>     <artifactId>h2</artifactId>     <version>1.4.200</version> </dependency>
 
  | 
 
JPA Setting 하기
resource/META-INF/persistence.xml
JPA 표준 문법 설정
- javax.persistence.jdbc.driver : 사용하고자 하는 DB 드라이버를 설정한다.
 
- javax.persistence.jdbc.user : DB에 접근하기 위한 Username
 
- javax.persistence.jdbc.password  : DB에 접근하기 위한 Password
 
- javax.persistence.jdbc.url : 접근하고자 하는 DataBase 경로
 
hibernate 전용 문법 설정
- hibernate.dialect : DB에서 사용하는 SQL 문법을 적용한다.(DB마다 약간씩 차이가 존재)
 
- hibernate.show_sql : hibernate에서 만들어주는 쿼리문을 볼 수 있도록 설정한다.
 
- hibernate.format_sql : hibernate에서 보여주는 쿼리문을 보기 좋게 포멧팅 해준다.
 
- hibernate.use_sql_comments : 어떤 객체를 사용해 작업을 진행하는지 확인할 수 있다.(디버깅시 용이) 
 
- hibernate.hbm2ddl.auto : 프로젝트가 실행될 때 자동으로 DDL을 생성할지에 대한 설정을 해준다.
 
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"              xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_2.xsd">     <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=""/>             <property name="javax.persistence.jdbc.url" value="jdbc:h2:tcp://localhost/~/test"/>             <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"/>                      </properties>     </persistence-unit> </persistence>
 
   |