![[JPA] 병합(Merge)과 변경 감지(Dirty Checking)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbFZDNu%2FbtsIWaxR2k8%2FcSvhbm9EekSz6ubAKDeTkK%2Fimg.png)
이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.JPA(Java Persistence API)에서 변경 감지(Dirty Checking)와 병합(Merge)은 엔티티 상태 관리를 위한 중요한 개념이다. 이 두 가지는 데이터베이스와 애플리케이션 간의 동기화를 효율적으로 관리하는 데 사용된다. 결론부터 말하면 두 방법중에 변경 감지를 사용하는 것이 더 좋다. 병합병합(Merge)은 JPA에서 준영속 상태의 엔티티를 영속성 컨텍스트에 포함시키고, 해당 엔티티의 상태를 데이터베이스에 반영하는 작업이다.이 과정은 데이터베이스에 이미 저장된 데이터를 수정할 때 사용된다.@PostMapping(value = "/items/{itemId}/edit")public String..
![[인프런 알고리즘] Chapter 4, 5번 문제(K번째 큰 수)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FSVRxE%2FbtsITvpIyGW%2FGpxNeHEQ6ForxhMyNmYVkk%2Fimg.png)
이 알고리즘 문제는 인프런의 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 (김태원)의 문제입니다.문제 설명 코드package inflearn_algorithm.chapter4;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.*;public class sec04_05 { public static int solution(int N, int K , Integer[] arr) { int count = 1; TreeSet reverseTreeSet = new TreeSet(Comparator.reverseOrder()); ..
![[인프런 알고리즘] Chpater 4, 4번 문제(모든 아나그램 찾기)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCduj5%2FbtsISqJlnEP%2FehkhUqIo4dQTi2pB7XJeMK%2Fimg.png)
이 알고리즘 문제는 인프런의 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 (김태원)의 문제입니다.문제 설명 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.HashMap;public class sec04_04 { public static int solution(String S, String T) { int count = 0; HashMap sMap = new HashMap(); HashMap tMap = new HashMap(); for (char c : T.toCharArray()) tMap..
![[JPA] JPQL 고급](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAEePT%2FbtsITTjajps%2FTK6s3GWqhaIQzkR7cFKwu1%2Fimg.png)
이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.경로 표현식JPQL(Java Persistence Query Language)에서 경로 표현식(Path Expression)은 엔터티의 속성에 접근하거나 연관된 엔터티를 탐색하기 위해 사용된다. 이는 객체 그래프를 따라갈 수 있게 하며, 다양한 쿼리에서 데이터를 필터링하고 조회하는 데 중요한 역할을 한다. 쉽게 말하자면 .(점)을 찍어 객체 그래프를 탐색하는 것이다.select m.username -> 상태 필드from Member m join m.team t -> 단일 값 연관 필드 join m.orders o -> 컬렉션 값 연관 필드where t.name = '팀A' 경로 표현식 용어 정리상태 필..
![[인프런 알고리즘] Chapter 4, 3번 문제(매출액의 종류)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdJpngx%2FbtsISs1mBNb%2FQg27p9A6tvX6sG7MnCHYKk%2Fimg.png)
이 알고리즘 문제는 인프런의 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 (김태원)의 문제입니다.문제 설명 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.HashMap;import java.util.StringTokenizer;public class sec04_03 { public static int[] solution(int[] arr, int K) { int[] result = new int[arr.length - K + 1]; HashMap map = new HashMap(); for (int i ..
![[인프런 알고리즘] Chpater 3, 2번 문제(아나그램(해쉬)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbyv6Bl%2FbtsITRyE8LX%2FuqCeDWWfe6iVIhNyKuUy1k%2Fimg.png)
이 알고리즘 문제는 인프런의 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 (김태원)의 문제입니다.문제 설명 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.HashMap;public class sec04_02 { public static String solution(String str1, String str2) { if(str1.length() != str2.length()) return "NO"; HashMap map1 = new HashMap(); HashMap map2 = new HashMap(..
![[JPA] JPQL 기본 문법](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoyVa8%2FbtsIOUcy4qH%2FfsVetX3LWQGherzVXDTV7k%2Fimg.png)
이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.Java Persistence Query Language (JPQL)은 Java Persistence API (JPA)에서 사용하는 쿼리 언어이다. JPQL은 객체 지향 쿼리 언어로, SQL과 유사하지만 엔티티 객체를 대상으로 하여 데이터베이스와 상호작용한다. JPQL을 사용하면 데이터베이스의 특정 데이터를 조회하거나 조작할 수 있다.JPA는 SQL을 추상화한 JPQL이라는 객체 지향 쿼리 언어 제공SQL과 문법 유사, SELECT, FROM, WHERE, GROUP BY, HAVING, JOIN 지원JPQL은 엔티티 객체를 대상으로 쿼리(테이블과 컬럼이 아닌 엔티티와 엔티티의 속성을 대상)SQL은 데이터베이스 ..
![[인프런 알고리즘] Chapter 4, 1번 문제(학급 회장)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcRXYQP%2FbtsIQe10CaZ%2FEB1zFdWsS9SFKoGhtxVSUK%2Fimg.png)
이 알고리즘 문제는 인프런의 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 (김태원)의 문제입니다.문제 설명 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.HashMap;public class sec04_01 { public static char solution(String str) { HashMap map = new HashMap(); char result = 0; int max = 0; for (char c : str.toCharArray()) { int c..