![[Query DSL] Query DSL 초기 세팅](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FzG1jw%2FbtsI2cjsMMq%2FAAAAAAAAAAAAAAAAAAAAAOV3jCmE08sMW8tcD8H0o4RxgpJh2wlfKvZn2g0oFV3s%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DwTMYb5Mb6ePMNqY0g5jCuW0FHws%253D)
이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.스프링 부트 버전은 3.5.3이다.(25.7 기준) 의존성 추가build.gradle의 dependencies에 아래의 내용을 추가해준다.sourceSets { main.java.srcDir querydslDir}tasks.withType(JavaCompile).configureEach { options.generatedSourceOutputDirectory.set(file(querydslDir))}clean { delete file(querydslDir)}dependencies {//Querydsl 추가 def querydslVersion = "5.0.0" implementation ..
![[인프런 알고리즘] Chapter 6, 3번 문제(삽입 정렬)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fwc4jv%2FbtsI7sY3Pk9%2FAAAAAAAAAAAAAAAAAAAAADStgKfHrrgJmoMLvZwXjq_NHwJt-gHaQceVw1QmG4aF%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DIIx5aJ0GtcoVpFmu%252Fos2C1Ai7uk%253D)
이 알고리즘 문제는 인프런의 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 (김태원)의 문제입니다.문제 설명 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class sec06_03 { public static int[] solution(int[] arr) { for(int i = 1; i = 0; --j) { if(arr[j] > targetValue) arr[j + 1] = arr[j]; else break; ..
![[Spring Data JPA] Projections 과 Native Query](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FnC6Ai%2FbtsI1ucVwfu%2FAAAAAAAAAAAAAAAAAAAAAFt-IrUXRS-Fcx2cheGizqTiimAyIgBN6gCnH5gdxzPK%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3Djr7dzPWm8M6eWBShReen3vdjZpk%253D)
이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.ProjectionsProjections는 Spring Data JPA에서 특정 엔티티의 일부 필드만을 선택적으로 조회하기 위해 사용하는 기능이다. Projections를 통해 전체 엔티티를 조회하지 않고 필요한 필드만을 선택적으로 가져올 수 있으며, 이를 통해 성능을 최적화하고 데이터 전송량을 줄일 수 있다. 인터페이스 기반 프로젝션 (Interface-based Projection)프로젝션을 위해 인터페이스를 정의하고, 필요한 필드만 메서드로 선언한다.JPA는 이 인터페이스를 구현하는 프록시 객체를 생성하여, 쿼리 결과를 이 인터페이스의 구현체로 반환한다.public interface UsernameOnly ..
![[인프런 알고리즘] Chpater 6, 2번 문제 (버블 정렬)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FcwPb5T%2FbtsI6ySt6R3%2FAAAAAAAAAAAAAAAAAAAAAA1_tncDNzOBvzAHbNM5fMqp6kaWsLjJJyfDQriiyOqH%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DMSXWl2MVAGgMNReza3jno0QPysA%253D)
이 알고리즘 문제는 인프런의 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 (김태원)의 문제입니다.문제 설명 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class sec06_02 { public static int[] solution(int[] arr) { for(int i = 0; i arr[j + 1]) { int tmp = arr[j + 1]; arr[j + 1] = arr[j]; ..
![[인프런 알고리즘] Chpater 6, 1번 문제(선택 정렬)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FEDq0N%2FbtsI6c9WIeR%2FAAAAAAAAAAAAAAAAAAAAAOnEbcBa4euLEEVbmXfv7jhXBMN7FSdVtuFnDcI_g8xH%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3Dq8Ku0YoH1tIhoR1hibfgo9G15Bo%253D)
이 알고리즘 문제는 인프런의 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 (김태원)의 문제입니다.문제 설명 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class sec06_01 { public static int[] solution(int[] arr) { for(int i = 0; i 설명2023.08.21 - [자료구조 & 알고리즘/알고리즘] - [알고리즘] 선택 정렬과 빅 오(Big O) [알고리즘] 선택 정렬과 빅 오(Big O)이 글은 누구나 자료 구조와 알고리즘(저자 : 제..
![[Spring Data JPA] 새로운 엔티티인지 구별하는 방법](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbNyPA5%2FbtsI2pIGJCn%2FAAAAAAAAAAAAAAAAAAAAAEwHsL0TOhJL9N3E2XzobvLKgpjQ5OcZSFFBpXyeTh1W%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3D7HLScrkWucjjRRYtPMUivgRlfaw%253D)
이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.이 글은 JPA의 변경 감지와 병합에 대한 이해가 필요합니다.2024.08.05 - [Java Category/JPA] - [JPA] 병합(Merge)과 변경 감지(Dirty Checking) [JPA] 병합(Merge)과 변경 감지(Dirty Checking)이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.JPA(Java Persistence API)에서 변경 감지(Dirty Checking)와 병합(Merge)은 엔티티 상태 관리를 위한 중요한 개념이rebugs.tistory.com save() 메서드의 구조org.springframework.data.jpa.rep..
![[인프런 알고리즘] Chpater 5, 8번 문제(응급실)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbcqmJf%2FbtsI2QHsvbl%2FAAAAAAAAAAAAAAAAAAAAABWn2s97i7vNSa7reZ5QqzxNmL5TReZWYOaeqAex9Lda%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DAQMcAGZK7XiERbTaNHWc5l06GJk%253D)
이 알고리즘 문제는 인프런의 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 (김태원)의 문제입니다.문제 설명 코드첫 번째 코드(시간 복잡도 O(N^2))import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public class sec05_08 { public static class Person { private int priority; private int idx; Person(int priority, int idx) { this.priority = priority; ..
![[Spring Data JPA] 확장 기능](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FcmfHDB%2FbtsI0LTP0Md%2FAAAAAAAAAAAAAAAAAAAAAKn7SMDRBJAKLRJ7uXuLohDxhNSjjoNrR4XgsuFZhYx6%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1756652399%26allow_ip%3D%26allow_referer%3D%26signature%3DtNWR%252B%252BFmCFFGTsyxE01o4svzgLE%253D)
이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.사용자 정의 리포지토리사용자 정의 인터페이스public interface MemberRepositoryCustom { List findMemberCustom();} 사용자 정의 인터페이스 구현 클래스@RequiredArgsConstructorpublic class MemberRepositoryCustomImpl implements MemberRepositoryCustom { private final EntityManager em; @Override public List findMemberCustom() { return em.createQuery("select m from Memb..