dysh10172845
@dysh10172845
Reviews Written
-
Average Rating
-
Posts
Q&A
๋์ ํ ์ด๋ธ์ ์ธ๋ํค ์ ๋จ์
๊ทธ๋ ๋ค๋ฉด ManyToOne ๊ด๊ณ์์ FK๊ฐ Many ์ชฝ์ ์๊ณ One์ FK๊ฐ ์์ผ๋,One์ ์กฐํํ ๋ eager๋ก ๋ฐ์ดํฐ๋ฅผ ๋ค ๊ฐ์ ธ์์ผ ํ ๊ฒ๊ฐ์๋ฐOne์์ lazy๋ก ๊ฐ์ ธ์ค๋ ๊ฑธ ํ์ฉํ๋ ์ด์ ๊ฐ ๋ญ๊น์?One์ ์ ์ฅ์์ Many์ธก์ ๋ฐ์ดํฐ๊ฐ ์ผ๋ง๋ ๋ง์์ง ์ ์ ์๊ณ ํ๋,๋ค ๊ฐ์ ธ์ค๋๋ฐ ์์ด ํจ์จ์ ์ด์ง ์์ผ๋ฏ๋ก(๋ฐ์ดํฐ๋ฅผ ์์ธ ์๋ ์์ผ๋) lazy๋ก ํ๋ก์ ๊ฐ์ฒด๋ง ์์ฑํ๊ณ ,์ดํ ํด๋น ๋ฐ์ดํฐ๋ฅผ ์กฐํํ ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฑด๋ฐ์ด์ฒ๋ผ OneToOne ์๋ฐฉํฅ์์๋ FK๋ฅผ ๊ด๋ฆฌํ์ง ์๋์ชฝ์์ ๋ค๋ฅธ ๋์ ํ ์ด๋ธ์ ์์ ์ PK๋ฅผ FK๋ก ๊ฐ๊ณ ์์ผ๋, lazy๋ก ๊ฐ์ ธ์ฌ ์ ์์ง์๋ ์ถ์ต๋๋ค.ํ์ด๋ฒ๋ค์ดํธ์์ ์ด ๊ฒฝ์ฐ๋ Many๋์ ๋ฌ๋ฆฌ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ก eager๋ก ๊ฐ์ ธ์ค๋๊ฒ ํจ์จ์ ์ด๋ผ๊ณ ํ๋จํด์ ์ด๋ ๊ฒ ์ค๊ณ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋ ๊น์?lazy๋ก ๊ฐ์ ธ์ค๊ฒ ํ ์ ์์๊ฒ ๊ฐ์์ ์ฌ์ญค๋ด ๋๋ค.(์ฐ๊ด๊ด๊ณ ์๋ ๋์ ํ ์ด๋ธ์ด ๋ญ์ง ์๊ณ , FK๊ฐ ๋ฌด์์ธ์ง๋ ์๋)๋ต๋ณ์ฃผ์๋ฉด ๊ฐ์ฌ๋๋ฆฌ๊ฒ ์ต๋๋ค.
- 0
- 2
- 547
Q&A
image ์ ์ก๊ณผ ํจ๊ป ๋ฐ์ดํฐ๋ json์ผ๋ก ๋ณด๋ด๊ณ ์ถ์ ๊ฒฝ์ฐ
๋ํ validation ๋ถ๋ถ์ dto๋ก ๋ณํํ ๋ ํ ์ ์์ผ๋ฉด ์ข์ ๊ฒ ๊ฐ์๋ฐ,์ด๊ฒ ๋ถ๊ฐ๋ฅํ ๊ฒฝ์ฐ entity๋จ์์ field์ validation์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์์๊ฒ ๊ฐ์ต๋๋ค,
- 2
- 3
- 9K
Q&A
image ์ ์ก๊ณผ ํจ๊ป ๋ฐ์ดํฐ๋ json์ผ๋ก ๋ณด๋ด๊ณ ์ถ์ ๊ฒฝ์ฐ
data ์ ๋ ฅ ๊ฐ์ ์๋์ ๊ฐ์ด ํ์ ๊ฒฝ์ฐ object mapper๋ฅผ ํ๋ฒ๋ง ์ฌ์ฉํด๋ ๋๋๊ฒ์ ํ์ธํ์ต๋๋ค. (์ฌ์ง) @PostMapping// @PostMapping(consumes = {MediaType.APPLICATION_JSON_VALUE, MediaType.MULTIPART_FORM_DATA_VALUE}) public ResponseEntity> post( @RequestPart("data") String data, @RequestPart("file") MultipartFile file, @ApiIgnore HttpSession session) throws IOException { Account account = getSessionCheckedAccount(session); if(!file.isEmpty()){ String path = session.getServletContext().getRealPath("/") + "images/" + file.getOriginalFilename(); file.transferTo(new File(path)); }// String o = objectMapper.readValue(data, String.class);// objectMapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true); PostRequestDto postRequestDto = objectMapper.readValue(data, PostRequestDto.class); Long postId = postService.post(postRequestDto.getTitle(), postRequestDto.getDesc(), postRequestDto.getPrice(), postRequestDto.getCategoryTag(), account); return new ResponseEntity(new ResponseOKDto( new PostResponseDto(postId)), HttpStatus.OK); }
- 2
- 3
- 9K
Q&A
์ปฌ๋ ์ ํ ์ด๋ธ vs ์ํฐํฐ๋ก ์์ฑ
์์ ์ ๋ ๋ฃ๊ณ ๋ณด๋, ๋ถ๋ชจํ ์ด๋ธ? ์ด๋ผ ๋ถ๋ฌ์ผ ํ ์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง, ์์ฒด์ ์๋ช ์ฃผ๊ธฐ๋ฅผ ๊ฐ์ง ์๊ณ , ๋ถ๋ชจํ ์ด๋ธ์ ์๋ช ์ฃผ๊ธฐ์ ๋ฐ๋ผ ๊ด๋ฆฌ๋์ด์ปฌ๋ ์ ํ ์ด๋ธ์ ์ฌ์ฉํ ๊ฒฝ์ฐ ๋ณ๋๋ก ํ ์ด๋ธ์ ๊ด๋ฆฌํ ํ์์ฑ์ ์์ ์ค ์ ์ฉํ๋ค๋ ์๊ฐ์ด ๋๋๋ฐ ์ ์๊ฐ์ด ๋ง์๊น์?
- 1
- 1
- 246
Q&A
Converter ์ฌ์ฉ ๊ด๋ จ ์ง๋ฌธ
Enum์ BOOKS, CLOTHES, DIGITAL ์ด๋ ๊ฒ ์ ์ํ ๊ฒ์ lowercase๋ก ํ์ฌ ํ ์คํธ ํด๋ดฃ๋๋ฐ, ์ ์ฉ์ด ์๋๋๋ฐclient๊ฐ ์๋ฌธ์๋ก ์ ๋ ฅ์ ๋ฃ์์๋๋ ์ ์ ์ฒ๋ฆฌํด์ฃผ๊ณ ์ถ์ด ์ง๋ฌธ ๋๋ ธ์์ต๋๋ค.
- 0
- 4
- 476
Q&A
Converter ์ฌ์ฉ ๊ด๋ จ ์ง๋ฌธ
@Datastatic class Form{ @NumberFormat(pattern = "###,###") private Integer number; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private LocalDateTime localDateTime;} Controller์์๋ ์ด๋ฐ ๋ณํ ๊ณผ์ ๋ก์ง์ ๋ฃ์ด์ฃผ์ง ์๊ณ , ์์์ ์ฌ์ฉํ์ ๊ฒ์ฒ๋ผ Entity์์ ์ ์ฉํ๋ ๋ฐฉ์์ด ๋ ๋ง๋ ๋ฐฉ์์ธ ๊ฒ ๊ฐ๊ธด ํ๋ฐ, ์ด๋ ๊ฒ ์ฌ์ฉํ๋ฉด ๋ด๋ถ ๋ก์ง์์ Entity์ ๊ฐ์ ๋ฃ์ด์ค ๋, enum๊ฐ์ ์ฌ์ฉํ์ง ๋ชปํ๊ณ String์ผ๋ก ์ง์ ๋ฃ์ด์ค์ผ ํ๋๊ฒ ๊ฐ์์๋ง์ง ์๋ ๋ฐฉ์์ธ๊ฒ ๊ฐ๊ธฐ๋ํฉ๋๋ค,
- 0
- 4
- 476
Q&A
team ์กฐํ์ query ๊ด๋ จ
๊ทธ๋ ๋ค๋ฉด ์ถ๊ฐ์ ์ผ๋ก ๊ถ๊ธํ ๊ฒ์, ์ค๋ฌด์์ ์ด๋ค ์ํฉ์์๋ eager๋ก ๋ฐ์์ผ ํ๋ case๋ ์์ ๊ฒ๊ฐ์๋ฐ, ์ด๋จ๋ eager์ฒ๋ฆฌํ๋ ์ง ๊ถ๊ธํฉ๋๋ค.
- 0
- 3
- 260
Q&A
team ์กฐํ์ query ๊ด๋ จ
์ ์ ๊ฐ ๋ฏธ๋ฆฌ fetct lazy ์ต์ ์ ์ค์ ๊ทธ๋ฐ๊ฑฐ์๋ค์ ํ์ธํ์ต๋๋ค.
- 0
- 3
- 260
Q&A
mockMvs with ๋ฉ์๋ ์ฐธ์กฐ ๊ด๋ จ
ํด๊ฒฐํ์ต๋๋ค.์ฝ๋์ ์ค์๊ฐ ์์๋ค์์ค์ ๋๋ถ์ ํจํค์ง๋ ๊น๋ณด๊ณ ์ข์๊ฒฝํํ์ต๋๋ค
- 0
- 2
- 747
Q&A
mockMvs with ๋ฉ์๋ ์ฐธ์กฐ ๊ด๋ จ
ํด๋น ํจํค์ง ๋ด์ with์๋๊ฒ๋ ํ์ธํ๋๋ฐ ๋ฆฌ๋น๋๋ฅผ ํ๋ฉด ์๋ ์๋ฌ๊ฐ๋น๋๋ค. java: cannot find symbol symbol: method with(org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.CsrfRequestPostProcessor) location: interface org.springframework.test.web.servlet.ResultActions (์ฌ์ง)
- 0
- 2
- 747




