AOP 란? AOP는 Aspect Oriented Programming의 약자로, 관점 지향 프로그래밍이라고 불린다. AOP는 애플리케이션의 기능을 핵심 기능과 부가 기능을 분리하여 관점을 기준으로 각 기능을 모듈화하는 기법이다. 여기서 핵심 기능은 객체가 제공하
자바 진영의 ORM(Object Relational Mapping, 객체-관계 매핑) 기술 표준으로, 객체와 테이블을 매핑해주어서 SQL을 직접 다루지 않고 객체지향적으로 개발할 수 있도록 도와주는 인터페이스이다.JPA의 구현체로는 하이버네이트 프레임워크가 있다.반복적
전에 공부했던 Spring Data JPA의 기본 사용법을 정리하고자 한다.build.gradle 파일의 dependencies 부분에 다음을 추가하자.Spring Data JPA는 JpaRepository 라는 공통 인터페이스를 제공한다.이 인터페이스는 기본적인 CR
Querydsl이란 JPQL 빌더를 말하며, 문자열이 아닌 코드로 쿼리를 작성할 수 있어 다양한 이점이 있다.그렇다면 먼저 JPQL이 무엇인지 알아보자.테이블이 아닌 엔티티 객체를 대상으로 검색하는 객체지향 쿼리SQL을 추상화해서 특정 데이터베이스SQL에 의존하지 않음
JWT 인증 방식에서, access token이나 refresh token을 유효 기간만큼만 Redis에 저장하여 사용하는 경우가 많다.다음 두 가지를 만족하도록 구현할 것이다.1\. 토큰을 Redis에 저장하고, 유효 기간만큼 TTL(Time To Live)을 지정하
N+1 문제란 1개의 쿼리로 처리되길 기대했지만 N개의 추가 쿼리가 발생하는 현상으로, 처음 실행한 SQL의 결과 수만큼 추가로 SQL이 실행되는 것을 말한다. 이것은 연관관계가 설정되어 있는 엔티티를 JPQL을 통해 조회하는 경우에 발생하는 문제다. JPQL을 실행하
참고트랜잭션이란 데이터베이스의 상태를 변환시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위를 말하며, ACID 성질을 가지고 있다.Atomicity (원자성): 트랜잭션의 연산은 데이터베이스에 모두 반영되든지 아니면 전혀 반영되지 않는다. Consistency (