๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿค” ๊ณ ๋ฏผ์ 2

[Spring] Repository์˜ ๋ฐ˜ํ™˜ ํƒ€์ž…์œผ๋กœ๋Š” ์–ด๋–ค ๊ฒƒ์„ ์จ์•ผ ํ• ๊นŒ? (Entity vs void) ๊ฐœ์š” ์Šคํ”„๋ง ๋ฐ์ดํ„ฐ JPA๋ฅผ ์“ฐ๋‹ค ๋ณด๋ฉด, ๊ฑฐ์˜ ๋ฌด์กฐ๊ฑด ์—”ํ‹ฐํ‹ฐ๋ฅผ ์ €์žฅํ•˜๋Š” save ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์‹  ์ ์ด ์žˆ์œผ์‹ค ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ save์˜ ๋ฐ˜ํ™˜ ํƒ€์ž…์œผ๋กœ๋Š” ์–ด๋–ค ๊ฒƒ์„ ์จ์•ผ ํ• ์ง€ ๊ณ ๋ฏผ์ด ๋“ค์—ˆ๋˜ ์ ์ด ์žˆ์œผ์‹ ๊ฐ€์š”? ์˜ค๋Š˜์€ ์–ด์ฉŒ๋ฉด ๋ฌด์˜์‹์ ์œผ๋กœ ๋„˜๊ฒจ๋ฒ„๋ฆฌ๊ธฐ๋งŒ ํ–ˆ๋˜ ๋ฐ˜ํ™˜ ํƒ€์ž…์— ๋Œ€ํ•ด ๊ธ€์„ ์จ ๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. save ๋ฉ”์„œ๋“œ ์†Œ๊ฐœ ์šฐ์„ , ์Šคํ”„๋ง ๋ฐ์ดํ„ฐ JPA์— ์ž‘์„ฑ๋˜์–ด ์žˆ๋Š” save ๋ฉ”์„œ๋“œ๋Š” ์•„๋ž˜ ๊ตฌ์กฐ๋กœ ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. @NoRepositoryBean public interface CrudRepository extends Repository { S save(S entity); ... } ์ฒซ ๋ฒˆ์งธ๋กœ, JpaRepository (์ธํ„ฐํŽ˜์ด์Šค)๋Š” ๋”ฐ๋ผ๊ฐ€๋‹ค ๋ณด๋ฉด CrudRepository (์ธํ„ฐํŽ˜์ด์Šค)๋ฅผ ์ƒ์†๋ฐ›์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  .. 2024. 2. 6.
getter์™€ setter๋Š” ์–ด๋””์— ๋‘๋Š” ๊ฒŒ ์ข‹์„๊นŒ? ์ด ๋‚ด์šฉ์€ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์Šคํ„ฐ๋””๋ฅผ ํ–ˆ๋˜ ๋‹น์‹œ ๋ฒจ๋กœ๊ทธ์— ์ž‘์„ฑํ–ˆ์—ˆ๋˜ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. Getter์™€ Setter ํ”ํžˆ ํด๋ž˜์Šค๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ํ•„๋“œ๊ฐ’๋“ค์„ ๊ฐ€์ ธ์˜ค๊ฑฐ๋‚˜ ์„ค์ •ํ•  ๋•Œ ์“ฐ์ด๋Š” ๋ฉ”์„œ๋“œ๋“ค์„ ๊ฐ๊ฐ Getter, Setter ๋ฉ”์„œ๋“œ๋ผ ํ•ฉ๋‹ˆ๋‹ค. ๋˜๋Š” ์ ‘๊ทผ ์ œ์–ด์ž๋ผ๊ณ  ํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. public class Car { private static final int START_DISTANCE = 0; private static final int ACCELERATE_MINIMUM_VALUE = 4; private static final int ACCELERATE_MAXIMUM_VALUE = 9; private final Name name; private int distance; private Car(final Name name, .. 2023. 11. 15.