[JPA] 즉시 로딩, 지연 로딩, 영속성 전이, 고아 객체
Back-End/JPA2024. 7. 27. 00:10[JPA] 즉시 로딩, 지연 로딩, 영속성 전이, 고아 객체

이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.즉시 로딩과 지연 로딩public void printUserAndTeam(String memberId) { Member member = em.find(Member.class, memberId); Team team = member.getTeam(); System.out.println("회원 이름: " + member.getUsername()); System.out.println("소속팀: " + team.getName());}회원과 팀을 함게 출력해야하는 로직에서는 상관 없지만, 단순히 회원만 출력하는 로직에서는 굳이 팀까지 DB에서 조회해서 가져올 필요가 없다.public void print..

[JPA] 프록시(Proxy)
Back-End/JPA2024. 7. 26. 16:40[JPA] 프록시(Proxy)

이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.em.find() vs em.getReference()em.find(): 데이터베이스를 통해서 실제 엔티티 객체 조회em.getReference(): 데이터베이스 조회를 미루는 가짜(프록시) 엔티티 객체 조회import javax.persistence.EntityManager;import javax.persistence.EntityManagerFactory;import javax.persistence.Persistence;public class Example { public static void main(String[] args) { EntityManagerFactory emf = Persist..

[인프런 알고리즘] Chpater 3, 5번 문제(연속된 자연수의 합)
자료구조 & 알고리즘/Inflearn2024. 7. 26. 12:18[인프런 알고리즘] Chpater 3, 5번 문제(연속된 자연수의 합)

이 알고리즘 문제는 인프런의 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 (김태원)의 문제입니다.문제 설명 코드첫 번째 코드(투 포인터 + 슬라이딩 윈도우)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class sec03_05 { public static int solution(int N) { int count = 0, sum = 0; int lPtr = 0, halfPlusOne = (N / 2) + 1; int[] arr = new int[halfPlusOne]; for(int i = 0; i N) sum..

[JPA] 상속관계 매핑
Back-End/JPA2024. 7. 25. 18:30[JPA] 상속관계 매핑

이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.상속관계 매핑관계형 데이터베이스는 상속관계라는 개념이 존재하지 않는다.RDB에서는 슈퍼타입 서브타입 관계라는 모델링 기법이 객체 상속과 유사한 개념이다.상속관계 매핑이란 객체의 상속 구조와 DB의 슈퍼타입 서브타입 관계를 매핑하는 것을 뜻한다.상속관계 매핑은 총 2가지 전략이 있다.조인 전략단일 테이블 전략기본적으로 조인 전략을 선택하되, 성능이 우선시된다면 단일 테이블 전략 선택 @Inheritance상속 매핑 전략을 설정하여 상위 클래스와 이를 상속받는 하위 클래스 간의 데이터 저장 방식을 지정할 수 있다. @Inheritance 애노테이션은 상위 클래스에 사용되며, 상속 매핑 전략으로 단일 테이블 전략, 조..

[인프런 알고리즘] Chpater 4, 4번 문제(연속 부분수열)
자료구조 & 알고리즘/Inflearn2024. 7. 25. 14:03[인프런 알고리즘] Chpater 4, 4번 문제(연속 부분수열)

이 알고리즘 문제는 인프런의 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 (김태원)의 문제입니다.문제 설명 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class sec03_04 { public static int solution(int N, int M, int[] arr) { int count = 0, sum = 0; int lptr = 0; for (int rptr = 0; rptr M) sum -= arr[lptr++]; if (..

[JPA] 다양한 연관관계 매핑
Back-End/JPA2024. 7. 24. 17:53[JPA] 다양한 연관관계 매핑

이 글은 인프런 김영한님의 Spring 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.연관관계 매핑시 고려사항 3가지다중성단방향, 양방향연관관계의 주인 다중성다대일: @ManyToOne일대다: @OneToMany일대일: @OneToOne다대다: @ManyToMany 단방향, 양방향테이블객체외래 키 하나로 양쪽 조인 가능참조용 필드가 있는 쪽으로만 참조 가능방향이라는 개념이 없다.한쪽만 참조하면 단방향 양쪽이 서로 참조하면 양방향  연관 관계의 주인테이블은 외래 키 하나로 두 테이블이 연관관계를 맺음객체 양방향 관계는 A->B, B->A 처럼 참조가 두 방향객체 양방향 관계는 참조가 두 방향이 있음. 둘중 테이블의 외래 키를 관리할 곳을 지정해야 함연관관계의 주인: 외래 키를 관리하는 참조주인의 반..

[인프런 알고리즘] Chpater 3, 3번 문제(최대 매출)
자료구조 & 알고리즘/Inflearn2024. 7. 24. 11:40[인프런 알고리즘] Chpater 3, 3번 문제(최대 매출)

이 알고리즘 문제는 인프런의 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 (김태원)의 문제입니다.문제 설명 코드첫 번째 코드(중첩 for 문)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class sec03_03 { public static int solution(int N, int M, int[] arr) { int max = Integer.MIN_VALUE; for(int i = 0; i max) max = tempSum; } return max;..

[인프런 알고리즘] Chapter 3, 2번 문제(공통원소 구하기)
자료구조 & 알고리즘/Inflearn2024. 7. 23. 09:40[인프런 알고리즘] Chapter 3, 2번 문제(공통원소 구하기)

이 알고리즘 문제는 인프런의 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 (김태원)의 문제입니다.문제 설명 코드첫 번째 코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Collections;import java.util.HashMap;import java.util.StringTokenizer;public class sec03_02 { public static ArrayList solution(int[] arr1, int[] arr2) { ArrayList integers = new ..

image