![[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%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DaG%252BS0KWIOP715nnNeKkXlxtBhJA%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%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DucsIYHL14I%252BnA6HGLsS87S9Rb6I%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%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3D9LgQB5%252B317Qp59c6SohYsxXtKp8%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..
![[인프런 알고리즘] Chapter 5, 7번 문제(교육과정 설계)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fbjudd4%2FbtsI2IPu06d%2FAAAAAAAAAAAAAAAAAAAAAL8s0QweNHq823Q1tchPhEc4mkAq_ntAge1O6m53CE0L%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DWRAu71YtYC1fPFdbwFQ68rh2MFU%253D)
이 알고리즘 문제는 인프런의 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 (김태원)의 문제입니다.문제 설명 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.LinkedList;import java.util.Queue;public class sec05_07 { public static String solution(String sequence, String str) { Queue que = new LinkedList(); for (char c : sequence.toCharArray()) que.add(c); ..
![[Spring Data JPA] 쿼리 메서드 기능](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fcaedyj%2FbtsI1mSLGez%2FAAAAAAAAAAAAAAAAAAAAAJ6MLLV2GgxQ4alp15TbkNfB-ypIU26n20J_0Ix0FDvZ%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3Dr9zJ4WE8KUiBIXT%252B%252BPnJig9B%252Bmw%253D)
이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.쿼리 메소드 기능 3가지메소드 이름으로 쿼리 생성메소드 이름으로 JPA NamedQuery 호출@Query 어노테이션을 사용해서 리파지토리 인터페이스에 쿼리 직접 정의 메서드 이름으로 쿼리 생성인터페이스에 메서드만 정의하면 알아서 DB로 쿼리가 날라간다.public interface MemberRepository extends JpaRepository { List findByUsernameAndAgeGreaterThan(String username, int age);}위 메서드 이름에서 알 수 있듯이, 이름과 나이를 기준으로 회원을 정리하는 기능이다.당연히 이 방식은 인공지능이 개입하는 것은 아니고 이름의..
![[인프런 알고리즘] Chpater5, 6번 문제(공주 구하기)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FVqctB%2FbtsIZ7iCHQK%2FAAAAAAAAAAAAAAAAAAAAABOFST4PsCObs74WEs29dHcRWVcLHGwBH7202sWvah3Q%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DGvHUTU9%252Bc0bZglL67NUPQbH3tzI%253D)
이 알고리즘 문제는 인프런의 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 (김태원)의 문제입니다.문제 설명 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.LinkedList;import java.util.Queue;import java.util.StringTokenizer;public class Main { public static int solution(int N, int K) { Queue que = new LinkedList(); for(int i = 1; i 1) { ++co..
![[Spring Data JPA] Spring Data JPA](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fdkzxgg%2FbtsI0y0Jv3E%2FAAAAAAAAAAAAAAAAAAAAAP2d0mXwFjAEbepIdPuQK9urB2mrmC6OGRHJscofYtpo%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DyGiZgWpro8bj9w4CaSAL5EGHHNQ%253D)
이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.Spring Data JPA는 스프링 프레임워크에서 제공하는 데이터 접근 계층(Data Access Layer)을 쉽게 구현할 수 있도록 지원하는 모듈이다.JPA(Java Persistence API)를 사용하여 데이터베이스와의 상호작용을 단순화하고, 보일러플레이트 코드를 최소화하는 데 중점을 둔다. 레포지토리 추상화Spring Data JPA는 JPA 엔티티를 관리하기 위한 기본적인 CRUD(Create, Read, Update, Delete) 작업을 자동으로 생성해주는 레포지토리 인터페이스를 제공한다.JpaRepository, CrudRepository, PagingAndSortingRepository와 같은..
![[인프런 알고리즘] Chapter 5, 5번 문제(쇠막대기)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbYXqxl%2FbtsI0sfkjCG%2FAAAAAAAAAAAAAAAAAAAAAJSYziyJz-SrLOGIivwd5Y-wVetRYCgO3WQcFBk20AqB%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DT%252FzVY0Y%252FVrSK1lAvwu5bK%252B7L86s%253D)
이 알고리즘 문제는 인프런의 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 (김태원)의 문제입니다.문제 설명 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class sec05_05 { public static int solution(String str) { int count = 0; int metalStick = 0; for(int i = 0; i 0) count += metalStick; } else //막대 끝 { --metalSt..