본문 바로가기
Develop/Spring

[JPA] Spring boot 에 JPA 코딩하기 위한 기본적인 세팅

by 코딩의성지 2020. 6. 7.

하이 .. ! 

 

항상 mybatis로만 개발을 하다가 JPA 의 필요성을 느끼고, 공부를 시작했다. 오늘은 간단하게 Springboot 프로젝트에서 기본적으로 해줘야할 세팅을 공유드리려 한다.

 

먼저 Spring boot 프로젝트를 하나 만들어주자.

 

그리고 가장 기본적으로 만들어주고 수정해줘야 하는건 아래의 3가지이다. 

Main 클래스, persistence.xml 파일 , pom.xml 파일...!

 

pom.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
    <dependencies>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>5.4.15.Final</version>
        </dependency>
 
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <version>1.4.200</version>
        </dependency>
    </dependencies>
 
 

pom.xml 에는 위의 두가지 dependency를 추가해주자. 버전 정보의 경우는 현재의 버전을 잘찾아서 넣어주면 된다.

 

persistence.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?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 https://xmlns.jcp.org/xml/ns/persistence_2_2.xsd">
    <persistence-unit name="realex">
        <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/~/mytest"/>
            <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.jdbc.batch_size" value="10"/>
            <property name="hibernate.hbm2ddl.auto" value="create"/>
        </properties>
    </persistence-unit>
 
</persistence>
 
 

persistence.xml 에서는 연동하고자하는 db 정보와 hibernate 관련 여러가지 속성을 넣어준다. 이 파일은 직접 만들어줘야하는데 위치는 resources > META-INF 에 만들어주면된다.

 

Main Class
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    public static void main(String[] args) {
        EntityManagerFactory emf = Persistence.createEntityManagerFactory("realex");
        EntityManager em = emf.createEntityManager();
 
        EntityTransaction et = em.getTransaction();
        et.begin();
 
        try {
            // 여기 로직이 들어감.
 
            et.commit();
        } catch (Exception e) {
 
        } finally {
            em.close();
        }
 
        emf.close();
    }
 

아주 간단하게 만든 구조이긴 하지만 위와 같이 코드가 구성된다. 자세한 내용은 추후 포스팅을 통해 구체적으로 설명드리도록 하겠다. 필요하신분은 이러한 기본 구조를 복사해다가 쓰시면 될 것 같다. 아 ..!

 

EntityManagerFactory emf = Persistence.createEntityManagerFactory("realex"); 

 

에서 파라미터로 들어가는 값은 persistence.xml 의 <persistence-unit name="realex"> 의 name 값과 동일하게 맞춰주면된다.

 

그럼 모두 즐거운 코딩하자 !!

반응형

댓글