2026/03 9

[Spring] JPA 6

다중성 N:1 - 실무에서 권장, N에 외래키가 있다.1:N - 실무에서 권장하지 않는 방식, 1에 외래키가 있다.1:1 - 어느 곳이나 외래키를 가질 수 있다.N:M 연관관계의 주인 : 두 객체의 연관관계 중 하나를 정해서 데이터베이스의 외래키를 관리 일반적으로 다(M, many) 방향에서 외래키를 가지고 있는 것이 효율적이기 때문에 Many 방향을 연관관계의 주인으로 선택한다.연관관계의 주인이 아닌 클래스 (1, one)는 외래키를 변경 불가, 읽기만 가능Team : Member = 1 : N외래키는 N인 Member가 team_id 컬럼을 가진다.외래키를 가진 방향을 연관관계의 주인으로 지정해두는 것이 효율적이며Member class가 외래키를 가지고 있기 때문에 연관관계의 주인이다.연관관계의 주인..

Java & Spring 2026.03.16

[백준 PriorityQueue] 13904번: 과제 (Java)

https://www.acmicpc.net/problem/13904 우선순위 큐를 사용하지 않았을 때 (2중 for문)N (1 ≤ N ≤ 1,000) 범위로 주어졌기 때문에 2중 for문도 통과된다. (N의 범위가 1만까지는 2중 for문을 허용해도 된다)import java.util.*;import java.io.*; public class Main { static int n; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); n = Integer.parseInt(br.readLine());..

java.net.ConnectException: Connection refused

Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure 환경 : 스프링 부트, MYSQL 스프링 부트가 MySQL 데이터베이스에 접속 시도, 대상 서버 MySQL이 연결을 거부보통 application.properties / yaml 파일에서 DB 접속 정보가 올바르지 않거나, 개발하는 호스트 컴퓨터에 데이터베이스 서버를 실행하지 않았을 경우 발생하는 문제이다. 해결 : application.properties의 DB 정보 확인 / MySQL 등 서버가 실행되었는지 확인

카테고리 없음 2026.03.04

[Spring] JPA 5

연관 관계 연관 관계 - 단방향 매핑- 양방향 매핑 연관 관계의 주인 : 객체 간 양방향 매핑 시 연관 관계를 관리하는 주체 다중성 : N:1, 1:N, 1:1, N:M DB 테이블에서의 연관관계는 외래키 개념이 있어 항상 양방향이 된다.두 테이블을 서로 참조하기 위해서는 외래키를 이용해 JOIN으로 엮으면 된다. 객체 테이블테이블은 '외래 키'로 조인을 사용해서 연관된 테이블을 찾는다.객체는 '참조'를 이용해 연관된 객체를 찾는다. SELECT ...FROM TEAM t JOIN MEMBER m ON t.member_id = m.member_id객체와 클래스에서의 연관관계는 외래키 개념이 없으며 참조 필드를 이용해 관계를 생성할 수 있다.Team : Member = 1:NTeam 클래스에 Li..

Java & Spring/JPA 2026.03.03

[Java] Map 정렬

Map에서 Key 정렬은 TreeMap을 사용하면 된다. Map map = new TreeMap();map.put(3, "kim");map.put(1, "lee");map.put(2, "choi");// key가 1, 2, 3으로 자동 정렬된다. 내림차순 정렬 시 Collections.reverseOrder()을 넣으면 된다.Map map = new TreeMap(Collections.reverseOrder());map.put(3, "kim");map.put(1, "lee");map.put(2, "choi");// key가 3, 2, 1 순서로 자동 정렬된다. TreeMap에서 자주 사용되는 메서드TreeMap map = new TreeMap();map.put(1, "Data1");map.put(2, "..

Java & Spring 2026.03.03

[DFS] 이진 트리 순회

전위 순회 : 1 -> 2-> 4 -> 5 -> 3 -> 6 -> 7현재 노드 -> 왼쪽 자식 노드 -> 오른쪽 자식 노드 중위 순회 : 4 -> 2 -> 5 -> 1 -> 6 -> 3 -> 7왼쪽 자식 노드 -> 현재 노드 -> 오른쪽 자식 노드 후위 순회 : 4 ->5 -> 2 -> 6 -> 7 -> 3 -> 1왼쪽 자식 노드 -> 오른쪽 자식 노드 -> 현재 노드 import java.util.*;import java.lang.*;import java.io.*;class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputSt..

[Recursive] 재귀 알고리즘

재귀 알고리즘 설계1. 재귀 메서드 설정 : 반환형 (void, int, long ..), 파라미터 (int n .. )2. if (재귀 종료 조건) 재귀가 종료 되었을 경우 (Base Condition)3. else (재귀 수행) : 재귀 로직 설정 예제- 이진수 재귀- 팩토리얼 재귀- 피보나치 재귀 1. 이진수class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); dfs(n); ..