티끌모아 로키산맥 🏔
search
로ᄏl
배움에 끝은 없다... 개발 또한 그러하다.
Today
Yesterday
프로그래밍 공부/JPA (4)
김영한님의 Querydsl 강의를 수강하며 정리한 내용입니다. 백엔드 기술은 SpringBoot + Spring Data JPA를 조합해서 사용하는데, 이 조합으로 해결하지 못하는 한계점이 바로 복잡한 쿼리 즉, 동적 쿼리를 짜야할 때이다! 이런 문제를 해결해주는 것이 Querydsl이다! Querydsl은 쿼리를 자바 코드로 작성할 수 있고 문법 오류를 컴파일 시점에 확인할 수 있다. 동적 쿼리 문제를 해결해준다. SQL과 문법이 유사하여 쉽게 학습할 수 있다. Querydsl + Spring Data JPA -> 개발이 즐거워진다! Querydsl + Spring Data JPA 장점 단순 반복 X (쿼리도 코드로) Querydsl은 단순히 JPQL Builder 이다! 따라서 JPA의 특징들 (ex..
JPA가 제공하는 기능은 크게 엔티티와 테이블을 매핑하는 설계 부분과 매핑한 엔티티를 실제 사용하는 부분으로 나눌 수 있다. 엔티티 매니저는 엔티티를 저장, 수정, 삭제, 조회하는 등의 엔티티와 관련된 모든 일을 처리한다. 이름 그대로 엔티티를 관리하는 관리자다. 이제부터 엔티티 매니저를 자세히 알아보자. (구현에 관련된 부분은 이전에도 언급했던 것처럼 '하이버네이트'를 기준으로 진행한다) 엔티티 매니저 팩토리와 엔티티 매니저 데이터 베이스를 '하나'만 사용하는 애플리케이션은 일반적으로 EntityManager Factory를 '하나'만 생성한다(데이터베이스를 여러개 사용하는 경우도 있을 것인데 그럴경우에는 팩토리도 그 갯수만큼 늘어난다고 추측할 수 있을 것 같다). 아래는 엔티티 매니저 팩토리를 생성하..
메이븐이나 IDE (eclipse, IntelliJ ..etc)를 설치하는 방법도 소개가 되어있지만 이는 생략하는 것으로 한다. 또한 메이븐이아닌 그래들을 사용해도 무방하다. (나는 오히려 그래들을 애용하기에 그래들을 사용할 것이다) H2 데이터베이스 설치 예제는 MySQL이나 오라클 데이터베이스를 사용해도 되지만 설치하는 부담이 크다. 따라서 설치가 필요 없고 용량도 1.7M로 가벼운 H2 데이터베이스를 사용하겠다. 참고로 데이터베이스는 자바가 설치되어 있어야 동작한다. (실제로 테스트 용도로 로컬 환경 테스트까지 H2 데이터베이스를 사용하기도 한다, 로컬 상황에서는 상황에따라서 MySQL이나 Oracle 같은 상용 데이터베이스를 사용할 수도있고 H2 데이터베이스를 사용할 수도 있다, 주로 테스트 용도..
T아카데미에서 김영한님의 JPA 강의를 수강하였고, JPA에 큰 관심을 두게되었다. 그래서 모 개발자의 '자바 ORM 표준 JPA 프로그래밍' 책을 공부하면서 정리하기로 하였다. 우리는 어떤 프로젝트를 진행할 때, 어떤 데이터를 저장하고 조회해야하는 경우가 잦다. 데이터 베이스에는 관계형 데이터 베이스(RDB)와 최근에는(최근이라는 표현이 맞는지는 잘 모르겠다) No SQL이라 불리는 비관계형 데이터 베이스 또한 많이 쓰이고있다. (No SQL은 직접 공부해본적이 없어서 잘 모르겠지만) 관계형 데이터베이스는 가장 대중적이고 신뢰할 만한 안전한 데이터 저장소다. 그래서 자바로 개발하는 애플리케이션은 대부분 관계형 데이터베이스를 데이터 저장소로 사용한다. 데이터 베이스를 관리하려면 SQL을 사용해야 한다. ..