jjinse
@jjinse
Reviews Written
-
Average Rating
-
Posts
Q&A
๊ธฐ๋ณธ ๋ฐฉ์(lazy loading)์ผ๋ก ํจ์น๊ฐ ๋์ง ์๋ ๋ฌธ์ ์
๋ทฐ ๋๋๋ง ์ ์ study์ manager ์ ๋ณด๋ฅผ ์ถ๋ ฅ์ ํด๋ณด์์ต๋๋ค. @GetMapping("/study/{path}")public String viewStudy(@CurrentUser Account account, Model model, @PathVariable String path){ Study study = studyService.getStudy(path); model.addAttribute(account); model.addAttribute(study); log.info(study.getManagers().toString()); // study์ Manager ์ ๋ณด๊ฐ ์ ํจ์น ๋๋์ง ํ์ธ return "study/view";} lazy loading์ ์ํด์ study ํ ์ด๋ธ ์ฟผ๋ฆฌ ํ๋ฒ, study_manager ํ ์ด๋ธ ์ฟผ๋ฆฌ ํ๋ฒ์ผ๋ก, ์ฟผ๋ฆฌ๋ ์ ์์ ์ผ๋ก ์ถ๋ ฅ์ด ๋์์ต๋๋ค. ํ์ง๋ง ๋น์ฐํ ํด๋น ์ฝ๋์์ ์๋ฌ๊ฐ ๋ฐ์ํ์๊ณ , ์๋ฌ ๋ด์ฉ์ ๋ค์๊ณผ ๊ฐ์์ต๋๋ค. log.info(study.getManagers().toString()); (์ฌ์ง) ์๋ฌ์์๋ Large Objects ๋ ์๋ ์ปค๋ฐ๋ชจ๋์์ ์ฌ์ฉํ ์ ์๋ค๊ณ ๋งํ๊ณ ์์ต๋๋ค! ํด๋น ๋ฌธ์ ๋ก ์ธํด์ manager ์ ๋ณด๊ฐ ์ ๋๋ก ํจ์น๊ฐ ๋์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ค์์ ์นํ์ด์ง ์์ ์๋ฌ์ ๋๋ค! (์ฌ์ง) ๋ง์ฐฌ๊ฐ์ง๋ก lob stream ์ ์ ๊ทผํ ์ ์๋ค๊ณ ํฉ๋๋ค. (์ฌ์ง) ์ฐธ๊ณ ๋ก ์กฐ์ธ ํ ์ด๋ธ์๋ ํด๋น study์ ๋ํ manager ์ ๋ณด๊ฐ ์ ์ ์ฅ์ด ๋์ด์์ต๋๋ค!
- 0
- 3
- 329
Q&A
๊ธฐ๋ณธ ๋ฐฉ์(lazy loading)์ผ๋ก ํจ์น๊ฐ ๋์ง ์๋ ๋ฌธ์ ์
์๋ ํ์ธ์. ๊ธฐ์ ๋! (์ฌ์ง) ์ ๊ฐ ์ง๋ฌธํ ๋ ์คํ๊ฐ ์์๋ค์. account_manager ํ ์ด๋ธ์ด ์๋๋ผ study_manager ํ ์ด๋ธ์ด์์ต๋๋ค. ์ง๋ฌธ ๊ฒ์๊ธ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก study_manager ํ ์ด๋ธ์ ํด๋น study์ ๋ํ manager ๊ฐ์ฒด๊ฐ ์กด์ฌํ๋๋ฐ๋ ํจ์น๊ฐ ๋์ง ์์์์ต๋๋ค! ๋์ผํ study_manager ํ ์ด๋ธ์ ๋ํด์ @EntitiyGraph๋ฅผ ํตํด์ study ๊ฐ์ฒด์ ํ๋ฒ์ ์ ๋ถ ํจ์น ๋ฐ์๋๋ ์ ๋ฐ์์์ง๋๋ฐ Lazy loading์ผ๋ก๋ ํจ์น๊ฐ ์๋์๋ค์!
- 0
- 3
- 329
Q&A
Adaptor ํจํด์ ์ฌ์ฉ (UserAccount)
๊ธฐ์ ๋ ๊ณ์ํด์ ์งํํด๋ณด๋ค๊ฐ ์ง๋ฌธ์ ๋๋ฆฝ๋๋ค! ๊ธฐ์กด์ form ์ ๋ ฅ๊ฐ์ผ๋ก ๋ก๊ทธ์ธ์ ํ๋ ๊ณผ์ ์์๋ ์ํ๋ฆฌํฐ ์ธ์ฆ ์ฒ๋ฆฌ ๊ณผ์ ์ ์ํด์ UserDetailsService์ loadUserByUsername ๋ฉ์๋์ ๋ฆฌํด๊ฐ์ธ UserDetails์ ๊ตฌํ์ฒด๋ก ์ธ์ฆ์ ํ๊ฒ๋๋๋ฐ, ์ ๊ฐ ์ฌ์ฉํ ๋ฐฉ์์ ์๋ ๋ก๊ทธ์ธ์ ๊ฒฝ์ฐ account๋ฅผ principal๋ก ์ฌ์ฉํ์์ต๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์๋ ๋ก๊ทธ์ธ์ ์ํด์ ์ธ์ฆ์ด ๋ ์ฌ์ฉ์๋ @AuthenticationPrincipal์ ํตํด์ account๋ฅผ ๋ฐ์ธ๋ฉ ๋ฐ์ ์ ์์์ง๋ง, form ๋ก๊ทธ์ธ์ผ๋ก ์ธ์ฆ์ด ๋ ์ฌ์ฉ์๋ ์ง์ ์ ์ผ๋ก account๋ฅผ ๋ฐ์ธ๋ฉ ๋ฐ์ ์ ์์์ต๋๋ค. ๊ทธ๋์ ์ด๋ฅผ ๋์ผํ๊ฒ ๋ง์ถฐ์ฃผ๊ธฐ ์ํด์ UserAccount ํด๋์ค๋ฅผ ์ฌ์ฉํ๋ค๊ณ ๋ณด๋ฉด ๋๋ ๊ฒ์ธ๊ฐ์? ๊ธฐ์ ๋์ด ๋ง์ํด์ฃผ์ account์ ์ํ๋ฆฌํฐ์ UserDetails์ ๊ฐ๊ทน์ด๋ผ๋ ๊ฒ์ด ์ด๊ฒ์ด ๋ง๋์ง ๊ถ๊ธํฉ๋๋ค!!
- 1
- 2
- 385
Q&A
ํ ์คํธ ์ DB ์ฑํฌ ๋ฌธ์
์๋ ํ์ธ์ ๊ธฐ์ ๋! ๊ณ์ ๊ณ ๋ฏผํ๊ณ ์ด์ ๋ฅผ ์ฐพ๋ค๊ฐ ๊ฒฐ๊ตญ์ ํด๊ฒฐ์ ํ๊ฒ ๋์ต๋๋ค. ์ดํด๋ฅผ ํด์ ํด๊ฒฐํ ๊ฒ์ ์๋์ง๋ง์..^^ ์ ๊ฐ ๊ธฐ์กด Account ํด๋์ค์ tags ์ด๊ธฐํ ๊ฐ์ Set tags = new HashSet(); ์ผ๋ก ์ด๊ธฐํ ํด์ฃผ์ง ์์ ๊ธฐ๋ณธ์ ์ผ๋ก null ์ ์ฐธ์กฐํ๊ณ ์์์ต๋๋ค. ํ์ง๋ง ๊ทธ๋๋ ์ดํด๊ฐ ๋์ง ์๋ ๋ถ๋ถ์ด ์ด์ ์ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์คํํ ๋น์, tags์ ์ด๊น๊ฐ์ ์ง์ ํด์ฃผ์ง ์์๋ ํธ๋์ญ์ ์ฒ๋ฆฌ๋ฅผ ํด์ฃผ๋ฉด DB์ ์ ์ฑํฌ๊ฐ ๋์๋๋ฐ, ํ ์คํธ์์๋ ๊ทธ๊ฒ์ด ์ ์ ์ฉ์ด ์ ๋์์ต๋๋ค! ์ด๋ฌํ ์ฐจ์ด์ ์ ์ด์ฐํด์ ๋ฐ์ํ๋์ง ๊ถ๊ธํฉ๋๋ค..ใ ใ ! ๊ธฐ๋ณธ์ ์ผ๋ก null์ ์ฐธ์กฐํ๊ฒ ํ๋ ๊ฒ์ด ์ข์ง ์์๊ฑด ์๊ณ ์์ง๋ง, ํธ๋์ญ์ ์ฒ๋ฆฌ๊ฐ ๋์ง ์์๋ ๋ถ๋ถ์ ์๋ฌธ์ด๋ค์!
- 0
- 4
- 579
Q&A
[์๋ฌธ์๋ต] ๋์์์ค๋ก ํด๋ ๋๊ฐ์ด not found์๋ฌ ๋ฐ์.
์ ๋ง ๊ฐ์ฌํฉ๋๋ค ใ ใ ์ ๋ csv ํ์ผ ์ด๋ฆ์ ํ๋ฒ ์์ ํด๋ณด๋ ๋ฐ๋ก ์๋ํ๋ค์!! ์๊ทธ๋ฐ ๊ฒ์ผ๊น์...
- 0
- 2
- 207
Q&A
ํ ์คํธ ์ DB ์ฑํฌ ๋ฌธ์
์๋ ํ์ธ์ ๊ธฐ์ ๋! ๊ธฐ์ ๋ ๋ง์๋๋ก ๋๋ฒ๊ฑฐ๋ก break ํฌ์ธํธ๋ค์ ์ฐ์ด์ ํ์ธํด๋ณธ ๊ฒฐ๊ณผ, ์ค์ ์ ํ๋ฆฌ์ผ์ด์ ์คํ์์๋ addTag ๋ฉ์๋์์ ํธ๋์ญ์ ๋ด๋ถ์ ์๋ Optional ๊ฐ์ฒด์ธ byId๋ฅผ ์์ฑํ๊ณ , ์ด์๋ ๋น์ฐํ DB์ ์ฑํฌ๋ tags ์ ๋ณด๊ฐ ์์์ต๋๋ค!! ํ์ง๋ง ํ ์คํธ ์ฝ๋์์ ์์ฑ๋ Optional ๊ฐ์ฒด์ธ byId์์๋ ํธ๋์ญ์ ๋ด๋ถ์์๋ ๋ถ๊ตฌํ๊ณ tags ์ ๋ณด๋ฅผ ๋ฐ์์ค์ง ๋ชปํ์ฌ ๊ทธ ์ธ์คํด์ค๊ฐ null์ธ ๊ฒ์ ํ์ธ ํ ์ ์์์ต๋๋ค..!! ํธ๋์ญ์ ๋ด๋ถ์ ์๋ค๊ณ ์๊ฐ์ด ๋๋๋ฐ ์ ์ฑํฌ๊ฐ ์ ์๋๊ฒ์ธ์ง ๋ชจ๋ฅด๊ฒ ์ด์ ๋ค์ ๋ง์๋๋ฆฌ๊ฒ๋๋ค์..! (์ฌ์ง) ๋น๋ก ํด๊ฒฐ์ ๋ชปํ์ง๋ง, ๋๋ถ์ ๋๋ฒ๊ฑฐ๋ฅผ ํตํด์ ์ํ๋ฅผ ํ์ธํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ํ์ต์ ํ ์ ์์์ต๋๋ค!^^ ์ถ๊ฐ๋ก ํ ์คํธ ํด๋์ค์์ Transactional์ ์ฃผ์ง ์์์๋์๋ account์ tags ์ปฌ๋ ์ ์ ์์ธ๋ฅผ ๋ฐ์์ํค์ง๋ง (์ฌ์ง) byId์ tags ํ๋๋ ๋ DB์์ ์ฑํฌ๊ฐ ๋๋ ๊ฒ์ธ์ง, PersistentSet์ ๋ํ ์ ๋ณด๊ฐ ์์์ต๋๋ค..!! (์ฌ์ง)
- 0
- 4
- 579




