JpaRepository์˜ save(S entity) ๋™์ž‘ ์›๋ฆฌ
ยท
๐ŸŒฟ Spring/JPA
1. ๊ฐœ์š”public Member saveMember(){ // Member ๊ฐ์ฒด ์ƒ์„ฑ Member member = createMember(); // ์ €์žฅ return memberRepository.save(member);}์œ„์™€ ๊ฐ™์ด save๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœ ๋ฐ ๋ฆฌํ„ดํ•  ๋•Œ ์ƒ์„ฑ๋œ ๊ฐ์ฒด์™€ ๋™์ผํ•œ ๊ฐ์ฒด๊ฐ€ ๋ฆฌํ„ด๋˜๋Š”์ง€, ์•„๋‹ˆ๋ฉด ์ƒˆ๋กœ์šด ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด์„œ ๋ฆฌํ„ด์‹œํ‚ค๋Š”์ง€ ๊ถ๊ธˆํ•ด์กŒ๋‹ค. ๊ถ๊ธˆ์ฆ ํ•ด๊ฒฐ์„ ์œ„ํ•ด ํ•ด๋‹น ๋ฉ”์†Œ๋“œ์˜ ๋™์ž‘ ์›๋ฆฌ๋ฅผ ํŒŒ์•…ํ•ด๋ณด์ž! 2. ๊ตฌํ˜„์ฒด ๋ถ„์„package org.springframework.data.repository;/** * Interface for generic CRUD operations on a repository for a specific type. */@NoRepos..
์ˆ˜์ •,์‚ญ์ œ ์ฟผ๋ฆฌ ์ง์ ‘ ์ž‘์„ฑ ์‹œ ์ฃผ์˜ํ•ด์•ผ ํ•  ์ 
ยท
๐ŸŒฟ Spring/JPA
1. ์ƒํ™ฉ๊ธฐ์กด์˜ view ์ฆ๊ฐ€ ์ฝ”๋“œ์—์„œ๋Š” dirty checking๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ view๋ฅผ updateํ•˜๋Š” ์ฟผ๋ฆฌ๊ฐ€ ์ž๋™์œผ๋กœ ๋ฐœ์ƒํ•˜๋„๋ก ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ–ˆ๋‹ค. ์ด ๊ฒฝ์šฐ view๊ฐ€ ์ฆ๊ฐ€ํ•˜๋ฉด @EnableAuditing์œผ๋กœ ์ธํ•ด updated๋„ ๊ฐ™์ด ๋ณ€๊ฒฝ๋œ๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.ํ•ด๋‹น ๋ฌธ์ œ์˜ ํ•ด๊ฒฐ์„ ์œ„ํ•ด JPQL์„ ํ™œ์šฉํ•˜์—ฌ ์˜์†์„ฑ ์ปจํ…์ŠคํŠธ(1์ฐจ ์บ์‹œ)๋ฅผ ๋ฌด์‹œํ•˜๊ณ  ๋‹ค์ด๋ ‰ํŠธ๋กœ DB์— ์ˆ˜์ • ์ฟผ๋ฆฌ๋ฅผ ๋‚ ๋ฆฌ๋„๋ก ํ–ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ฟผ๋ฆฌ๊ฐ€ ์‹คํ–‰๋  ๋•Œ JPA๋Š” ํ•ด๋‹น ์—”ํ‹ฐํ‹ฐ์˜ ์ƒํƒœ๋ฅผ ๊ฐ์ง€ํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ, Auditing ๊ธฐ๋Šฅ์ด ์ž‘๋™ํ•˜์ง€ ์•Š๋Š”๋‹ค. ํ˜„์žฌ ์ƒํ™ฉ์€ ๋‹จ๊ฑด ์ˆ˜์ •์ด์ง€๋งŒ, ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ˆ˜์ • ๋ฐ ์‚ญ์ œํ•  ๋•Œ๋„ ์ด์™€ ์œ ์‚ฌํ•˜๊ฒŒ JPQL, QueryDSL ๋“ฑ์„ ํ™œ์šฉํ•˜๊ณ  ์ด๋ฅผ "๋ฒŒํฌ ์—ฐ์‚ฐ"์ด๋ผ๊ณ  ํ•œ๋‹ค. @Entity@Getter@Table(na..