์์ค ์ฝ๋๋ ์ฌ๊ธฐ ์์ต๋๋ค. (commit hash: e336ad7) > git clone https://github.com/lcalmsky/jpa > git checkout e336ad7 Overview ์๋ฐฉํฅ ์ฐ๊ด๊ด๊ณ๋ฅผ ๋งบ์ ๋ ๊ด๋ฆฌ์ ์ฃผ์ฒด์ธ ์ฐ๊ด๊ด๊ณ ์ฃผ์ธ์ ๋ํด ์์๋ด ๋๋ค. ์ฐ๊ด๊ด๊ณ์ ์ฃผ์ธ(Owner) ์๋ฐฉํฅ ์ฐ๊ด๊ด๊ณ๋ฅผ ๋งบ์ ๋ ๊ท์น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ๊ฐ์ฒด์ ๋ ๊ด๊ณ์ค ํ๋๋ฅผ ์ฐ๊ด๊ด๊ณ์ ์ฃผ์ธ์ผ๋ก ์ง์ ex) Member ๊ฐ์ฒด๊ฐ ๊ฐ์ง Team์ด ์ฃผ์ธ์ด ๋ ์ง Team ๊ฐ์ฒด๊ฐ ๊ฐ์ง Members๊ฐ ์ฃผ์ธ์ด ๋ ์ง ์ ํจ ์ฐ๊ด๊ด๊ณ์ ์ฃผ์ธ๋ง FK๋ฅผ ๊ด๋ฆฌ(๋ฑ๋ก, ์์ ๋ฑ) ์ฃผ์ธ์ด ์๋ ์ชฝ์ ์ฝ๊ธฐ๋ง ๊ฐ๋ฅ ์ฃผ์ธ์ด ์๋ ์ชฝ์์ mappedBy ์์ฑ์ผ๋ก ์ฃผ์ธ ์ง์ ๊ทธ๋ ๋ค๋ฉด ๋ ๊ด๊ณ ์ค ์ด๋ค ๊ฒ์ ์ฃผ์ธ์ผ๋ก ์ง์ ํ๋ ๊ฒ ํ..
์์ค ์ฝ๋๋ ์ฌ๊ธฐ ์์ต๋๋ค. (commit hash: e336ad7) > git clone https://github.com/lcalmsky/jpa > git checkout e336ad7 Overview ์๋ฐฉํฅ ์ฐ๊ด๊ด๊ณ๋ฅผ ์ค๋ช ํฉ๋๋ค. ๊ฐ์ฒด ์งํฅ ๋ชจ๋ธ๋ง ์๋ฐฉํฅ ์ฐ๊ด๊ด๊ณ๋ ๊ฐ์ฒด๊ฐ ์๋ก ์ฐธ์กฐํ ์ ์๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ๋ฐ๋ผ์ ๊ฐ์ฒด๊ฐ์ ๊ด๊ณ๋ ์๋ ์ฒ๋ผ ๋ํ๋ผ ์ ์์ต๋๋ค. ํ ์ด๋ธ ์ฐ๊ด๊ด๊ณ๋ ์ด์ ๊ณผ ๋์ผํฉ๋๋ค. DB์์๋ team_id ๋ง์ผ๋ก๋ Member๋ฅผ ์ฐพ์ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ํ ์ด์ ์ฐ๊ด๊ด๊ณ์๋ ๋ฐฉํฅ์ด๋ผ๋ ๊ฐ๋ ์ด ์์ต๋๋ค. FK ํ๋๋ก ์ถฉ๋ถํ ์ฐ๊ด๊ด๊ณ๋ฅผ ํ์ ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์๋ฐฉํฅ ์ฐ๊ด๊ด๊ณ ๊ตฌํ ์ด์ ํฌ์คํ ์์ ์ด๋ฏธ ๋จ๋ฐฉํฅ ์ฐ๊ด๊ด๊ณ๋ฅผ ๊ตฌํํด๋์๊ธฐ ๋๋ฌธ์ ์๋ฐฉํฅ ๊ด๊ณ๋ฅผ ๋งบ๊ธฐ ์ํด์ Team ์ชฝ..
์์ค ์ฝ๋๋ ์ฌ๊ธฐ ์์ต๋๋ค. (commit hash: e336ad7) > git clone https://github.com/lcalmsky/jpa > git checkout e336ad7 Overview ๋จ๋ฐฉํฅ ์ฐ๊ด๊ด๊ณ๋ฅผ ์ค๋ช ํฉ๋๋ค. JPA๋ฅผ ์ค๋ช ํ๊ธฐ ์ํด ํฌ์คํ ํ๋ ๊ธ์ด์ง๋ง ์คํ๋ง ๋ด์์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ ์คํ๋ง ๋ถํธ ํ๋ก์ ํธ๋ก ๊ตฌ์ฑํ์์ต๋๋ค. ํ๋ก์ ํธ๋ฅผ ๊ตฌ์ฑํ๋ ๋ด์ฉ์ ๋ค๋ฅธ ํฌ์คํ ์๋ ๊ทธ๋์ ๋ง์ด ์์ฑํ์๊ธฐ ๋๋ฌธ์ ์๋ตํ์์ต๋๋ค. ๊ฐ์ฒด ์งํฅ ๋ชจ๋ธ๋ง ์ ๋ฒ ํฌ์คํ ์์์ ๋ค๋ฅด๊ฒ ๊ฐ์ฒด์งํฅ์ ์ผ๋ก ๋ชจ๋ธ๋งํ ๋ชจ์ต์ ์๋์ ๊ฐ์ต๋๋ค. ๊ฐ์ฒด ์ฐ๊ด๊ด๊ณ Member ๊ฐ์ฒด๊ฐ Team ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ๊ธฐ ์ํด์ teamId๋ฅผ ๊ฐ์ง๋ ๊ฒ ์๋๋ผ Team ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ๊ณ ์์ด์ผ ํฉ๋๋ค. ํ ์ด๋ธ ์ฐ๊ด๊ด๊ณ ์ฝ๋๋ก ๋ํ๋ด๋ฉด ๋ค์๊ณผ..
์คํ๋ง ๋ถํธ ๋ฒ์ ์ด 2.7.0์ผ๋ก ์ฌ๋ผ๊ฐ๋ฉด์ H2 ๋ฒ์ ๋ ๊ฐ์ด 2.x.x๋ก ๋ณ๊ฒฝ๋์๋๋ฐ, ์ด์ ์ ์์ฝ์ด๊ฐ ์๋์๋ year๊ฐ ์์ฝ์ด๊ฐ ๋์ด ์ ํ๋ฆฌ์ผ์ด์ ์ด ๊นจ์ง๋ ํ์์ด ๋ฐ์ํ์์ต๋๋ค. ๊ทผ๋ณธ์ ์ธ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์์ฝ์ด ์ปฌ๋ผ๋ช ์ ๋ฐ์ดํ(quote)๋ฅผ ๊ฐ์ธ๋ ๊ฒ์ธ๋ฐ ์ด๋ ๊ฒ ์ฒ๋ฆฌํ๊ธฐ ์ํ ๋ช ๊ฐ์ง ๋ฐฉ๋ฒ์ ์๊ฐํฉ๋๋ค. @Column ์ ๋ํ ์ด์ ๋ด ๋ฐ์ดํ(") ์ฌ์ฉ ์ด์ ์๋ @Column(name="open") ์ด๋ ๊ฒ ์์ฝ์ด๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ @Column(name="`open`") ๋ฐฑํฑ์ ์ถ๊ฐํ๋ ๋ฐฉ์์ผ๋ก ํด๊ฒฐ ๊ฐ๋ฅํ์๋๋ฐ์, ์ด์ ๋ @Column(name="\"year\"") ์ด๋ฐ์์ผ๋ก ๋ฐ์ดํ๋ฅผ ์ถ๊ฐํ์ฌ ํด๊ฒฐํ ์ ์์ต๋๋ค. ์ค์ ๋ณ๊ฒฝ hibernate์ ์ค์ ์ ์ถ๊ฐํ์ฌ ํด๊ฒฐํ ์ ์์ต๋๋ค. hibernate.aut..
Overview ์คํ๋ง ๋ถํธ์์ ์ฌ์ฉํ ์ ์๋ ์ค์ ๊ฐ๋ค์ ์ฐ์ ์์๋ฅผ ์์๋ด ๋๋ค. ์ค์ Spring Boot๋ฅผ ์ฌ์ฉํ๋ฉด ์ค์ ์ ์ธ๋ถํ(externalize)ํ์ฌ ๋ค๋ฅธ ํ๊ฒฝ์์ ๋์ผํ ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋๋ก ์์ ํ ์ ์์ต๋๋ค. ์ค์ ์ ์ข ๋ฅ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์๋ฐ ์์ฑ ํ์ผ(properties) yaml ํ์ผ ํ๊ฒฝ ๋ณ์ ์ปค๋งจ๋ ๋ผ์ธ ์ธ์(command line argument) ์์ฑ ๊ฐ์ @Value๋ฅผ ํตํด ์ฃผ์ ํ๊ฑฐ๋ Environment ์ถ์ ํด๋์ค๋ฅผ ํตํด ์ ๊ทผํ๊ฑฐ๋ @ConfigurationProperties๋ฅผ ์ด์ฉํด ๊ฐ์ฒด์ ๋ฐ์ธ๋ฉ ํ ์ ์์ต๋๋ค. ์ฐ์ ์์ ์ค์ ๊ฐ์ ์ฐ์ ์์์ ์ํด ์ค๋ฒ๋ผ์ด๋ํ๋ ๋ฐฉ์์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฐ์ ์์๋ ๋ฎ์ ์์์ ๋์ ์์ผ๋ก ์ค๋ฒ๋ผ์ด๋๋๋ฏ๋ก, ๊ณตํต์ผ๋ก ์ฌ์ฉํ ๊ฐ..
Overview ๊ฐ์ฒด์ ํ ์ด๋ธ๊ณผ ์ฐ๊ด๊ด๊ณ์ ์ฐจ์ด๋ฅผ ์ดํดํ๊ธฐํฉ๋๋ค. ์์ ์๋๋ฆฌ์ค ๋จ๋ฐฉํฅ ์ฐ๊ด๊ด๊ณ์ ๋ํด ์ค๋ช ํ๊ธฐ ์ํด ์๋์ ๊ฐ์ด ์ธ ๊ฐ์ง ์ํฉ์ ๊ฐ์ ํฉ๋๋ค. ํ์๊ณผ ํ ํ์์ ํ๋์ ํ์๋ง ์์๋ ์ ์์ ํ์:ํ=N:1 ์ฐ๊ด๊ด๊ณ๊ฐ ํ์ํ ์ด์ ์์ ์๋๋ฆฌ์ค์ ์ํฉ์ ๋ค์ด์ด๊ทธ๋จ์ผ๋ก ๋ํ๋ด๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ๊ฐ์ฒด ์ฐ๊ด๊ด๊ณ ํ ์ด๋ธ ์ฐ๊ด๊ด๊ณ ํ ์ด๋ธ์ ๋ง์ถฐ์ ๊ฐ์ฒด๋ฅผ ๋ชจ๋ธ๋งํ๊ฒ๋๋ฉด ์๋ก ์๋ฌด ๊ด๊ณ๊ฐ ์๋ ๊ฐ์ฒด๊ฐ ๋์ด๋ฒ๋ฆฝ๋๋ค. ํ ์ด๋ธ๋ผ๋ฆฌ๋ FK๋ฅผ ์ด์ฉํด ๊ด๊ณ๋ฅผ ๋ํ๋ผ ์ ์์ง๋ง ๊ฐ์ฒด๋ ๋ค๋ฅธ ๊ฐ์ฒด์ ID๋ฅผ ๊ฐ๊ณ ์๋ค๊ณ ํด๋ ์๋ก ๊ด๊ณ๊ฐ ์๋ค๊ณ ๋ณด๊ธด ํ๋ญ๋๋ค. ์ด๋ฅผ ์๋ฐ ์ฝ๋๋ก ๋ํ๋ด๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค. package com.tistory.jaimenote.jpa.domain.entity; import javax.pe..
์์ค ์ฝ๋๋ ์ฌ๊ธฐ ์์ต๋๋ค. ๋ฌธ์ ๋ ์ฌ๊ธฐ ์์ต๋๋ค. Problem Given an integer array nums and an integer k, return the kth largest element in the array. Note that it is the kth largest element in the sorted order, not the kth distinct element. Example 1: Input: nums = [3,2,1,5,6,4], k = 2 Output: 5 Example 2: Input: nums = [3,2,3,1,2,4,5,5,6], k = 4 Output: 4 Constraints: 1
๋ณธ ํฌ์คํ ์ ๋ฐฑ๊ธฐ์ ๋์ ์คํ๋ง๊ณผ JPA ๊ธฐ๋ฐ ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ๊ฐ์๋ฅผ ์ฐธ๊ณ ํ์ฌ ์์ฑํ์์ต๋๋ค. ์์ค ์ฝ๋๋ ์ฌ๊ธฐ ์์ต๋๋ค. (commit hash: 316856a) > git clone https://github.com/lcalmsky/spring-boot-app.git > git checkout 316856a โน๏ธ squash merge๋ฅผ ์ฌ์ฉํด ๊ธฐ์กด branch๋ฅผ ์ญ์ ํ๊ธฐ๋ก ํ์ฌ ์์ผ๋ก๋ commit hash๋ก ํฌ์คํ ์์ ์ ์์ค ์ฝ๋๋ฅผ ๊ณต์ ํ ์์ ์ ๋๋ค. Overview ์ด์ ๋ชจ๋ ๊ธฐ๋ฅ์ด ๊ตฌํ๋์ผ๋ฏ๋ก ๋ง์ง๋ง๋จ์ ์ฒซ ํ๋ฉด์ ๊ตฌํํฉ๋๋ค. ๋ก๊ทธ์ธ ์ ๊ณผ ํ๋ก ๋๋๋๋ฐ ๋จผ์ ๋ก๊ทธ์ธํ๊ธฐ ์ ํ๋ฉด์ ๊ตฌํํด๋ณด๊ฒ ์ต๋๋ค. ๋ก๊ทธ์ธ ์ ํ๋ฉด ๊ตฌํ MainController ์์ ์ฒซ ํ๋ฉด์ ์ ๋ฌํ ๋ฐ์ดํฐ๋ฅผ ์ถ๊ฐํด์ฃผ๊ธฐ ..
๋ณธ ํฌ์คํ ์ ๋ฐฑ๊ธฐ์ ๋์ ์คํ๋ง๊ณผ JPA ๊ธฐ๋ฐ ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ๊ฐ์๋ฅผ ์ฐธ๊ณ ํ์ฌ ์์ฑํ์์ต๋๋ค. ์์ค ์ฝ๋๋ ์ฌ๊ธฐ ์์ต๋๋ค. (commit hash: 5937695) > git clone https://github.com/lcalmsky/spring-boot-app.git > git checkout 5937695 โน๏ธ squash merge๋ฅผ ์ฌ์ฉํด ๊ธฐ์กด branch๋ฅผ ์ญ์ ํ๊ธฐ๋ก ํ์ฌ ์์ผ๋ก๋ commit hash๋ก ํฌ์คํ ์์ ์ ์์ค ์ฝ๋๋ฅผ ๊ณต์ ํ ์์ ์ ๋๋ค. Overview ์คํ๋ง ๊ธฐ๋ณธ ์ค์ ์ ์ฌ์ฉํ๋ฉด ํด๋ผ์ด์ธํธ๊ฐ ์๋ชป๋ ์์ฒญ์ ๋ณด๋์ ๋ 404์๋ฌ ํ์ด์ง๋ก ์๋์ผ๋ก ์ด๋์ด ๋๋๋ฐ์, ์ด ๋ ํ์ํ ์๋ฌ ํ๋ฉด๊ณผ, ์๋ฌ ํ๋ฉด์ ๋ณด์ฌ์ฃผ๊ธฐ ์ํ ํธ๋ค๋ฌ๋ฅผ ๊ตฌํํฉ๋๋ค. ์๋ชป๋ ์์ฒญ์ ์๋ ์๋์ ๊ฐ์ต๋๋ค. ..
๋ณธ ํฌ์คํ ์ ๋ฐฑ๊ธฐ์ ๋์ ์คํ๋ง๊ณผ JPA ๊ธฐ๋ฐ ์น ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ๊ฐ์๋ฅผ ์ฐธ๊ณ ํ์ฌ ์์ฑํ์์ต๋๋ค. ์์ค ์ฝ๋๋ ์ฌ๊ธฐ ์์ต๋๋ค. (commit hash: 85decd6) > git clone https://github.com/lcalmsky/spring-boot-app.git > git checkout 85decd6 โน๏ธ squash merge๋ฅผ ์ฌ์ฉํด ๊ธฐ์กด branch๋ฅผ ์ญ์ ํ๊ธฐ๋ก ํ์ฌ ์์ผ๋ก๋ commit hash๋ก ํฌ์คํ ์์ ์ ์์ค ์ฝ๋๋ฅผ ๊ณต์ ํ ์์ ์ ๋๋ค. Overview ๊ฒ์ํ๋ฉด์ ๊ฐ์ ํฉ๋๋ค. ํ์ด์ง ๋ด๋น๊ฒ์ด์ , ์ ๋ ฌ ์กฐ๊ฑด ๋ฑ ๊ธฐ์กด์ ๋๋ฝ๋ ๊ธฐ๋ฅ๋ค์ ์ถ๊ฐํฉ๋๋ค. ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น /src/main/resources/static ๊ฒฝ๋ก๋ก ์ด๋ํ์ฌ mark ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํฉ๋๋ค. > cd /src/m..
- Total
- 83,839
- Today
- 59
- Yesterday
- 439
- JPA
- ์๊ณ ๋ฆฌ์ฆ
- Spring Data JPA
- QueryDSL
- r
- ์คํ๋ง ๋ถํธ jwt
- Spring Boot Tutorial
- ์คํ๋ง ๋ถํธ
- ์คํ๋ง ๋ฐ์ดํฐ jpa
- leetcode
- Jackson
- ์คํ๋ง ๋ถํธ ํํ ๋ฆฌ์ผ
- spring boot app
- proto3
- intellij
- leetcode binary search
- gRPC
- Linux
- Spring Boot JPA
- ์คํ๋ง ๋ถํธ ์ ํ๋ฆฌ์ผ์ด์
- ์คํ๋ง๋ถํธ
- leetcode bst
- Spring Boot
- JSON
- Java
- ์คํ๋ง ๋ถํธ ํ์ ๊ฐ์
- @ManyToOne
- leetcode stack
- spring boot application
- spring boot jwt