맨땅에 JPA - 설정
이번 포스트부터 JPA를 한 번 다뤄보려 한다.
본인도 아직 강의를 듣거나 학습을 우선적으로 진행한 것이 아니라 실제 개발을 하면서 그냥 한 번 부딪혀 본 것이기
때문에 정확한 정보 전달보다는 개인적인 일지로 기록해보려 한다.
우선적으로 JPA를 본인 프로젝트에 적용하기 위한 설정을 알아보자.
본인의 기본적인 개발 환경은
- Spring boot
- IntelliJ
- Java
- Mssql
- gradle
이렇게 되어있다.
원래는 Mybatis를 사용했으나 JPA로 변경해 보려 한다.
JPA를 사용하면 거의 당연스럽게 따라오는 것이 QueryDSL인 것 같다.
그래서 설정 방법을 같이 알아보자.
1. build.gradle 파일
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을 사용할 수 있는 것이다.
#어렵다