Web

맨땅에 JPA - 설정

TheCar 2023. 7. 7. 09:43
728x90
반응형

이번 포스트부터 JPA를 한  번 다뤄보려 한다.

본인도 아직 강의를 듣거나 학습을 우선적으로 진행한 것이 아니라 실제 개발을 하면서 그냥 한 번 부딪혀 본 것이기

때문에 정확한 정보 전달보다는 개인적인 일지로 기록해보려 한다.

 

우선적으로 JPA를 본인 프로젝트에 적용하기 위한 설정을 알아보자.

 

본인의 기본적인 개발 환경은

- Spring boot

- IntelliJ

- Java

- Mssql

- gradle

 

이렇게 되어있다.

 

원래는 Mybatis를 사용했으나 JPA로 변경해 보려 한다. 

 

JPA를 사용하면 거의 당연스럽게 따라오는 것이 QueryDSL인 것 같다.

그래서 설정 방법을 같이 알아보자.

 

1. build.gradle 파일

queryDsl 버전 설정과 pugin 추가

 

implementation "com.querydsl:querydsl-jpa" : QueryDSL을 사용하기 위한 라이브러리 

implementation "com.querydsl:querydsl-apt" : QueryDSL에서 실제 쿼리에 사용되는 QClass를 생성하기 위한 라이브러리

implementation "com.querydsl:querydsl-core" : 정확히 무엇인지 좀 알려주세요.

 

 

QueryDSL에서는 QClass라는 걸 사용하여 JPA를 동작시키는데 위 설정들은 QClass가 생성될 디렉터리 위치를 설정하는 부분이다.

 

 

gradle build를 할 때 QClass도 함께 build 시키기 위해 sourceSets에 디렉토리 위치를 추가해 주는 부분이다.

 

설정은 구글링 하면서 이것저것 찾아보면서 추가했지만 아직 정확히 다 이해하지 못했다.

본인도 다시 한번 천천히 보면서 공부해봐야겠다.

 

2. JPA Config 파일 

 

JPA Config 파일에서 EntityManager를 Bean으로 생성해서 사용한다.

 

*EntityManager란

JPA를 사용하면 Database와 mapping 된 Entity 객체들을 생성하게 된다.

그리고 생성된 Entity 객체들로 JPA는 Database를 조작하게 되는데

생성된 Entity 객체들을 관리하는 것이 EntityManager이다.

 

이번 포스트는 설정에 관한 포스트이니 세부적인 설명은 생략하겠다.

 

(사실 본인도 잘 모른다.)

 

 

이렇게 많은 설정들이 끝났으면 이제 JPA , QueryDSL을 사용할 수 있는 것이다.

#어렵다

728x90
반응형