Posts by Tag

querydsl

querydsl SQL function

최대 1 분 소요

SQL function은 Dialect에 등록된 function만 호출할 수 있다.

querydsl & Spring Data JPA

2 분 소요

Spring Data JPA 사용하기 Repository interface를 생성하고 JpaRepository<Entity, ID>를 상속받는다. Spring data JPA는 이전의 포스트에서 손수 구현한 기능들을 기본적으로 제공한다. 순수...

querydsl 동적 쿼리

1 분 소요

동적 쿼리를 해결하는 방식은 두가지가 있다. BooleanBuilder Where 다중 파라미터 사용

querydsl Projection

2 분 소요

Projection select절에 어떤 데이터를 가져올지 대상을 지정하는 것. 대상이 하나인 경우 해당 타입으로 지정할 수 있다. 대상이 여러개인 경우 Tuple이나 DTO로 받아야 한다.

querydsl 상수

최대 1 분 소요

상수 사용 Expressions.constant() 사용

querydsl case문

최대 1 분 소요

Case 조건에 따른 값을 지정해주는 문법 select, where, order by 절에서 사용 가능

querydsl join

2 분 소요

기본 조인 Join의 기본 문법은 join(조인 대상, 조인에 사용할 Q타입의 별칭(alias)) 이다. List<Member> teamA = queryFactory .selectFrom(member) .join(member...

Spring Data JPA가 제공하는 Querydsl 기능

1 분 소요

Spring Data JPA는 Querydsl에 몇가지 간편한 기능을 제공한다. 이 기능들은 코드 몇줄을 통하여 편하게 사용할 수 있지만 하나의 테이블을 이용한 쿼리에서 사용해야 정상동작을 기대할 수 있다는 제약이 있다. 여러 테이블을 조인해야 하는 경우 기능이 정상 동작하지 않을...

querydsl 집합

최대 1 분 소요

집합 함수 JPQL이 지원하는 집합 함수를 제공 count() : 조회 데이터의 수 sum() : 조회 데이터 컬럼의 합 avg() : 조회 데이터 컬럼의 평균 max() : 조회 데이터 컬럼의 최대값 min() : 조회 데이터 컬럼의 최소값

querydsl 정렬

최대 1 분 소요

정렬 orderBy() : order by 쿼리를 발생시킨다. asc() : 오른차순 desc() : 내림차순 nullsLast() : 해당 필드 값이 null 이라면 조건의 마지막으로 가져온다. ...

querydsl paging

최대 1 분 소요

페이징 offset() 앞에 스킵할 row의 수 0부터 시작한다. ex) 1이라면 1개를 스킵한 것. limit() 최대로 가져올 row의 수 전체 조회수를 구하고 싶은 경우 ...

querydsl 결과 조회

최대 1 분 소요

결과 조회 fetch() : 리스트 조회, 결과값 없는 경우 빈 리스트를 리턴. fetchOne() : 단 건 조회 결과 없는 경우 : null 결과가 2개 이상인 경우 : NonUniqueResultException fet...

querydsl 검색 조건 쿼리

최대 1 분 소요

기본 검색 쿼리 검색 조건은 .and()와 .or()를 메서드 체인으로 연결할 수 있다. select(entity).from(entity)은 selectFrom()으로 합칠 수 있다. JPQL이 제공하는 모든 검색 조건을 제공한다. - querydsl 자체가 JPQL의...

querydsl Q-Type

1 분 소요

테스트할 Entity 앞으로 querydsl 게스글에 나올 Entity는 아래와 같다.

querydsl

1 분 소요

Back-end 개발을 할 경우 Spring boot, JPA, Spring data jpa를 대체로 많이 사용한다. 하지만 이 기술 조합으로 해결하지 못하는 한계가 발생하기 마련인데, 이는 복잡한 쿼리와 동적 쿼리 문제다. 실무에서는 특히 복잡한 쿼리를 많이 사용하고, 검색...

맨 위로 이동 ↑

Spring boot

querydsl SQL function

최대 1 분 소요

SQL function은 Dialect에 등록된 function만 호출할 수 있다.

querydsl & Spring Data JPA

2 분 소요

Spring Data JPA 사용하기 Repository interface를 생성하고 JpaRepository<Entity, ID>를 상속받는다. Spring data JPA는 이전의 포스트에서 손수 구현한 기능들을 기본적으로 제공한다. 순수...

querydsl 동적 쿼리

1 분 소요

동적 쿼리를 해결하는 방식은 두가지가 있다. BooleanBuilder Where 다중 파라미터 사용

querydsl Projection

2 분 소요

Projection select절에 어떤 데이터를 가져올지 대상을 지정하는 것. 대상이 하나인 경우 해당 타입으로 지정할 수 있다. 대상이 여러개인 경우 Tuple이나 DTO로 받아야 한다.

querydsl 상수

최대 1 분 소요

상수 사용 Expressions.constant() 사용

querydsl case문

최대 1 분 소요

Case 조건에 따른 값을 지정해주는 문법 select, where, order by 절에서 사용 가능

querydsl join

2 분 소요

기본 조인 Join의 기본 문법은 join(조인 대상, 조인에 사용할 Q타입의 별칭(alias)) 이다. List<Member> teamA = queryFactory .selectFrom(member) .join(member...

Spring Data JPA가 제공하는 Querydsl 기능

1 분 소요

Spring Data JPA는 Querydsl에 몇가지 간편한 기능을 제공한다. 이 기능들은 코드 몇줄을 통하여 편하게 사용할 수 있지만 하나의 테이블을 이용한 쿼리에서 사용해야 정상동작을 기대할 수 있다는 제약이 있다. 여러 테이블을 조인해야 하는 경우 기능이 정상 동작하지 않을...

querydsl 집합

최대 1 분 소요

집합 함수 JPQL이 지원하는 집합 함수를 제공 count() : 조회 데이터의 수 sum() : 조회 데이터 컬럼의 합 avg() : 조회 데이터 컬럼의 평균 max() : 조회 데이터 컬럼의 최대값 min() : 조회 데이터 컬럼의 최소값

querydsl 정렬

최대 1 분 소요

정렬 orderBy() : order by 쿼리를 발생시킨다. asc() : 오른차순 desc() : 내림차순 nullsLast() : 해당 필드 값이 null 이라면 조건의 마지막으로 가져온다. ...

querydsl paging

최대 1 분 소요

페이징 offset() 앞에 스킵할 row의 수 0부터 시작한다. ex) 1이라면 1개를 스킵한 것. limit() 최대로 가져올 row의 수 전체 조회수를 구하고 싶은 경우 ...

querydsl 결과 조회

최대 1 분 소요

결과 조회 fetch() : 리스트 조회, 결과값 없는 경우 빈 리스트를 리턴. fetchOne() : 단 건 조회 결과 없는 경우 : null 결과가 2개 이상인 경우 : NonUniqueResultException fet...

querydsl 검색 조건 쿼리

최대 1 분 소요

기본 검색 쿼리 검색 조건은 .and()와 .or()를 메서드 체인으로 연결할 수 있다. select(entity).from(entity)은 selectFrom()으로 합칠 수 있다. JPQL이 제공하는 모든 검색 조건을 제공한다. - querydsl 자체가 JPQL의...

querydsl Q-Type

1 분 소요

테스트할 Entity 앞으로 querydsl 게스글에 나올 Entity는 아래와 같다.

querydsl

1 분 소요

Back-end 개발을 할 경우 Spring boot, JPA, Spring data jpa를 대체로 많이 사용한다. 하지만 이 기술 조합으로 해결하지 못하는 한계가 발생하기 마련인데, 이는 복잡한 쿼리와 동적 쿼리 문제다. 실무에서는 특히 복잡한 쿼리를 많이 사용하고, 검색...

맨 위로 이동 ↑

Spring

Controller에서 JPA Entity를 반환하는 경우

2 분 소요

이번 포스트는 Controller에서 api 응답을 Entity로 하는 경우에 맞닥뜨린 이슈를 공유하며, 어떤 방법이 적절한가에 대한 생각을 정리하기 위해 작성하였습니다. 개인적 견해가 많이 포함되어 잘못되었을 수 있으니 다른 의견을 갖고 계시다면 댓글로 달아주시면 감사드리겠습니다.

JPA key 생성전략 변경 사항

1 분 소요

최근 JPA에 대하여 공부를 할 때 DB 벤더를 MySQL로 설정할 경우 기본 키 생성 전략이 IDENTITY, Postgresql은 SEQUENCE라고 학습하였다.

JPA N+1 문제

5 분 소요

이번 포스트에서는 JPA를 사용할 떄 문제가 될 수 있는 N+1 쿼리 문제에 대하여 정리해보겠습니다.

Spring Data Common - 기본 리포지토리 커스텀

최대 1 분 소요

쿼리 메소드(CREATE, USE_DECLARED_QUERY)로 해결할 수 없는 경우 직접 코딩으로써 구현 custom 리포지토리 인터페이스 정의 custom repsitory interface에 기능 추가 만약 spring data기 지원하는 기능의 성능이 마음에 들...

Spring Data Common - Custom Repository

1 분 소요

쿼리 메소드(CREATE, USE_DECLARED_QUERY)로 해결할 수 없는 경우 직접 코딩으로써 구현 custom 리포지토리 인터페이스 정의 custom 리포지토리 인터페이스에 새로운 기능 추가 만약 spring data기 지원하는 기능의 성능이 마음에 들지 않은...

Spring Data Common - 쿼리만들기

최대 1 분 소요

스프링 데이터 저장소의 쿼리 만드는 방법 메소드의 이름을 분석하여 쿼리를 생성(CREATE) 미리 정의해 둔 쿼리 찾아 사용(USE_DECLARED_QUERY) JPA의 구현체마다 구현이나 동작하는 방식이 다르지만 spring-data-jpa가 기본적...

Spring Data Common - Null 처리

최대 1 분 소요

spring data 2.0부터 java 8의 Optional을 지원한다. Optional<Entity> findById(Long id); 되도록이면 단일 값을 가져와야 하는 경우 Entity타입이 아닌 Optional<Entity> 값으로 가져오면 ...

Spring Data Common - Repository

최대 1 분 소요

JpaRepository JpaRepository는 PagingAndSortingRepository에서 JPA와 관련된 기능을 확장한 interface로, spring data jpa가 제공해준다. PagingAndSortingRepository부터 그 상위의 CrudRe...

Spring Data Common이란

최대 1 분 소요

spring data는 하나의 프로젝트가 아니고 여러 SQL & NOSQL 저장소 지원 프로젝트의 묶음이다. spring data JPA spring data JDBC spring data KeyValue spring data MongoDB spring ...

JPA7 - Query

최대 1 분 소요

JPA Query 대하여 공부한 내용을 기술합니다.

JPA6 - Fetch

최대 1 분 소요

JPA Fetch에 대하여 공부한 내용을 기술합니다.

JPA5 - Cascade

1 분 소요

JPA Cascade에 대하여 공부한 내용을 기술합니다.

맨 위로 이동 ↑

JPA

Spring Data Common - 기본 리포지토리 커스텀

최대 1 분 소요

쿼리 메소드(CREATE, USE_DECLARED_QUERY)로 해결할 수 없는 경우 직접 코딩으로써 구현 custom 리포지토리 인터페이스 정의 custom repsitory interface에 기능 추가 만약 spring data기 지원하는 기능의 성능이 마음에 들...

Spring Data Common - Custom Repository

1 분 소요

쿼리 메소드(CREATE, USE_DECLARED_QUERY)로 해결할 수 없는 경우 직접 코딩으로써 구현 custom 리포지토리 인터페이스 정의 custom 리포지토리 인터페이스에 새로운 기능 추가 만약 spring data기 지원하는 기능의 성능이 마음에 들지 않은...

Spring Data Common - 쿼리만들기

최대 1 분 소요

스프링 데이터 저장소의 쿼리 만드는 방법 메소드의 이름을 분석하여 쿼리를 생성(CREATE) 미리 정의해 둔 쿼리 찾아 사용(USE_DECLARED_QUERY) JPA의 구현체마다 구현이나 동작하는 방식이 다르지만 spring-data-jpa가 기본적...

Spring Data Common - Null 처리

최대 1 분 소요

spring data 2.0부터 java 8의 Optional을 지원한다. Optional<Entity> findById(Long id); 되도록이면 단일 값을 가져와야 하는 경우 Entity타입이 아닌 Optional<Entity> 값으로 가져오면 ...

Spring Data Common - Repository

최대 1 분 소요

JpaRepository JpaRepository는 PagingAndSortingRepository에서 JPA와 관련된 기능을 확장한 interface로, spring data jpa가 제공해준다. PagingAndSortingRepository부터 그 상위의 CrudRe...

Spring Data Common이란

최대 1 분 소요

spring data는 하나의 프로젝트가 아니고 여러 SQL & NOSQL 저장소 지원 프로젝트의 묶음이다. spring data JPA spring data JDBC spring data KeyValue spring data MongoDB spring ...

JPA7 - Query

최대 1 분 소요

JPA Query 대하여 공부한 내용을 기술합니다.

JPA6 - Fetch

최대 1 분 소요

JPA Fetch에 대하여 공부한 내용을 기술합니다.

JPA5 - Cascade

1 분 소요

JPA Cascade에 대하여 공부한 내용을 기술합니다.

맨 위로 이동 ↑

OOP

맨 위로 이동 ↑

test

@WebMvcTest

최대 1 분 소요

@WebMvcTest에 대하여 공부한 내용을 기술합니다.

Spring Boot Test

1 분 소요

Spring Boot Test에 대하여 공부한 내용을 기술합니다.

@DataJpaTest

최대 1 분 소요

@DataJpaTest에 대하여 공부한 내용을 기술합니다.

맨 위로 이동 ↑

JUnit

@WebMvcTest

최대 1 분 소요

@WebMvcTest에 대하여 공부한 내용을 기술합니다.

Spring Boot Test

1 분 소요

Spring Boot Test에 대하여 공부한 내용을 기술합니다.

@DataJpaTest

최대 1 분 소요

@DataJpaTest에 대하여 공부한 내용을 기술합니다.

맨 위로 이동 ↑

REST API

REST API

2 분 소요

REST API에 대하여

맨 위로 이동 ↑

Dependency

Dependency Lookup

2 분 소요

Dependency Lookup에 대하여 공부한 내용을 기술합니다.

Dependency Injection

최대 1 분 소요

Dependency Injection에 대하여 공부한 내용을 기술합니다.

맨 위로 이동 ↑

Overloading

맨 위로 이동 ↑

Bean

Spring Bean Scope

3 분 소요

Spring Bean Scope에 대하여 공부한 내용을 기술합니다.

맨 위로 이동 ↑

HTTP

맨 위로 이동 ↑

URL

맨 위로 이동 ↑

MySQL

맨 위로 이동 ↑

Regular Expression

맨 위로 이동 ↑

DATABASE

맨 위로 이동 ↑

Javascript

맨 위로 이동 ↑

export

맨 위로 이동 ↑

import

맨 위로 이동 ↑

React

맨 위로 이동 ↑

maven

Maven과 Gradle

최대 1 분 소요

Maven과 Gradle에 대하여 공부한 내용을 기술합니다.

맨 위로 이동 ↑

gradle

Maven과 Gradle

최대 1 분 소요

Maven과 Gradle에 대하여 공부한 내용을 기술합니다.

맨 위로 이동 ↑

access modifier

Private Constructor

최대 1 분 소요

Private Constructor에 대하여 공부한 내용을 기술합니다.

맨 위로 이동 ↑

static

맨 위로 이동 ↑

Parameter

맨 위로 이동 ↑

class member

맨 위로 이동 ↑

instance member

맨 위로 이동 ↑

initialize

변수의 초기화

1 분 소요

변수의 초기화에 대하여 공부한 내용을 기술합니다.

맨 위로 이동 ↑

DTO

DTO와 VO

최대 1 분 소요

DTO와 VO에 대하여 공부한 내용을 기술합니다.

맨 위로 이동 ↑

VO

DTO와 VO

최대 1 분 소요

DTO와 VO에 대하여 공부한 내용을 기술합니다.

맨 위로 이동 ↑

JVM

JVM

3 분 소요

JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가.

맨 위로 이동 ↑

DI

맨 위로 이동 ↑

Exception Handle

맨 위로 이동 ↑

annotation

Retention Policy

최대 1 분 소요

Retention Policy에 대하여 공부한 내용을 기술합니다.

맨 위로 이동 ↑

DBCP

Hikari 옵션

최대 1 분 소요

Hikari 옵션에 대하여 정리.

맨 위로 이동 ↑

proxy

맨 위로 이동 ↑

Transactional

맨 위로 이동 ↑

Transaction

맨 위로 이동 ↑