Back End/Spring

[Java 웹개발 마스터] 스터디1. JPA 사용하기

쟈누이 2021. 1. 12. 05:41
반응형

위 사이드 프로젝트는 패스트 캠퍼스 온라인 강의 Java 웹 개발 마스터 올인원 패키지 Online. 를 수강하면서 진행한 것이다. 

JPA는 Java Persistant Application 의 약자로 ORM(Object Relational Mapping)을 자바에서 사용하기위한 명세이다. 한마디로 ORM 인터페이스를 모아둔 것이다. 웹 상의 객체와 데이터베이스의 테이블을 맵핑시켜주는 프로그램이라 할 수 있겠다.

 


1. Gradle 에서 JPA 설정하기

우선 Gradle 에서 JPA 를 사용하기 위해서는 gradle.build 의 dependency에서 implementation 을 사용하여 의존성을 기입해준다.

build.gradle 은 Maven 의 pom.xml 과 같은 역할을 한다고 생각하면 된다. 


2.  JPA 사용하기

우선, 프로젝트에 Entity 를 만들어준다.

Entity 는 다른의미로는 DAO 또는 VO 라고 불리는데, 이것들은 데이터베이스로 데이터를 전달할 때, 데이터를 해당 컬럼에 매칭시켜주기위한 객체의 역할을 한다. GETTER, SETTER 를 통해 설정하는 방법이 있지만, 편리하게 LomBok 을 사용하여 심플하게 매핑시켜주고 있다.

그 다음으로는 JPA Repository 를 만든다.

Jpa Repository 는 MyBatis 에 직접 치는 SQL 쿼리문 등을 모아놓은 것이라고 생각하면 편한데, 우리가 직접 치는 수고를 덜어줘 객체르 관리하는 것에 더욱 집중하게 만들어준다. 아래는 Test 에서 사용했는데, 대체적으로 Service 에서 아래와 같이 JPA를 사용한다고 보면 될 것 같다.

우선, Person DAO 객체를  가져와서 데이터를 담아준다. 

그 다음에, personRepository 를 가져와서 사용하고자 하는 JPA 문법을 사용해주는데 위 이미지에서는 데이터 베이스에 저장하기 위해 SVAE( ) 를 사용해주고 findall( ) 로 저장된 데이터를 불러와주었다. 성공하면, 아래와 같이 나타난다.


위와 같이, JPA 를 사용하면 편리한 점은 개발자가 직접 쿼리문을 실행시키지 않아도 된다는 것이었다. 프로젝트를 할 때 MyBatis 를 많이 사용하고 있는데, MyBatis 의 경우에는 쿼리문도 신경써야되서 신경쓸 것이 너무 많은데.. JPA 의 경우에는 사용하기만 하면, 객체의 관리에만 집중하면 되니 쿼리문에 신경쓰지 않아도 되어서 개발을 진행하는데 편리했던 것 같다.

반응형