JPQL 4

Chapter 02. 기본 문법

QueryDSL vs JPQL Ex) member1 찾기 JPQL: Stiring 형태로 쿼리를 직접 작성하고 파라미터를 세팅한다. (setParameter()) QueryDSL: QMember라는 클래스가 있는데 이는 Member를 엔티티로 등록했기 때문에 자동으로 생성된 Q 클래스이다. QueryFactory 구문에서 FROM 절에서 테이블처럼 QMember 인스턴스를 쓸 수 있다. 파라미터를 바인딩 처리한다. @Test public void startJPQL() { String qlString = "SELECT m FROM Member m " + "WHERE m.username = :username"; Member findMember = em.createQuery(qlString, Member.cl..

Chapter 01. QueryDsl 프로젝트 생성 및 환경 설정

프로젝트 설정 dependency: Lombok, JPA, H2, starter 프로젝트 설정: 빌드 실행 배포 => 빌드 도구 => Gradle => 둘다 IntelliJ로 설정한다. 이렇게 해야 자바로 바로 실행할 수 있어서 속도가 빠르다. builde.gradle QueryDSL 사용하기 위해 다음과 같이 추가한다. gradle => clean gradle => compileQuerydsl 위 내용은 터미널로 다음과 같이 입력하는 것과 같다. ./gradlew clean compileQuerydsl 메이븐의 경우는 다음과 같이 clean 한 다음(target 폴더를 삭제), compile를 실행한다. 실행하고 나면 target 폴더가 생성되면서 Q클래스가 새롭게 생성된다. plugins { id '..

Chapter 10. 객체지향 쿼리 언어1 - 기본 문법

10.0 intro JPA가 지원하는 다양한 쿼리 방법 JPQL(Java Persistence Query Language) JPA Criteria(객체 지향 쿼리 빌더): Java 코드를 짜서 JPQL을 빌드해주는 모음 (JPQL의 작성을 도와주는 빌더 클래스이다.) 기본으로 JPQL을 쓰고 안 되는 경우에 네이티브 SQL 사용 QueryDSL 네이티브 SQL 쿼리를 Java 코드로 작성할 수 있도록 도와주는 기술이다. JDBC API 직접 사용, MyBatis, SpringJdbcTemplate을 함께 쓴다. JPQL - 객체 지향 SQL 가장 단순한 조회 방법 EntityManager.find() 객체 그래프 탐색(a.getB().getC()) JPA를 사용하면 엔티티 중심으로 개발한다. 문제는 검색..

Chapter 02. JPA 시작하기

2.1 프로젝트 생성 H2 데이터베이스 설치와 실행 H2는 웹 용 Query tool을 제공하는 가벼운 실습용 데이터 베이스이다. 시퀀스, auto increment 기능 지원 데이터베이스 시뮬레이션 기능이 있다. H2 데이터베이스를 설치한다. https://www.h2database.com/html/main.html maven 프로젝트 생성 maven - 라이브러리 자동 다운로드 및 의존성 관리 아까 사이트에서 다운받은 2.1.214 버전과 같은 드라이버를 사용해야한다. 4.0.0 jpa-basic ex1-hello-jpa 1.0.0 org.hibernate hibernate-entitymanager 5.3.10.Final com.h2database h2 2.1.214 JPA 설정 - persisten..