songining

-์˜์กด๊ด€๊ณ„ ์ฃผ์ž…์˜ ๊ฒฝ์šฐ ์ƒ์„ฑ์ž ์ฃผ์ž…์„ ์ง€ํ–ฅ

ํ›„์— ๋ณ€๊ฒฝ์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ์•ˆ์ „ํ•œ ๊ฐ์ฒด ์ƒ์„ฑ์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ.

- ์ƒ์„ฑ์ž๊ฐ€ ํ•˜๋‚˜๋ฉด @Autowired ์ƒ๋žต ๊ฐ€๋Šฅ 

- ๋ณ€์ˆ˜์— final ๋ถ™์—ฌ์„œ ํ›„์— ์ˆ˜์ • ๋ถˆ๊ฐ€๋Šฅํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Œ 

- Repository์—์„œ ์‚ฌ์šฉํ•˜๋Š” EntityManager๋Š” @PersistenceContext๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜์ง€๋งŒ SpringBoot์—์„œ๋Š” @Autowired๋„ ๊ฐ€๋Šฅ

- final์„ ๋ถ™์ธ ๋ณ€์ˆ˜๋ฅผ Lombok์˜ @RequiredArgsConstructor ๋ฅผ ํ†ตํ•ด ์ƒ์„ฑ์ž ์ƒ์„ฑ/์ฃผ์ž…ํ•ด์ฃผ๋ฉด ์ผ๊ด€์„ฑ์žˆ๊ณ  ๊น”๋”ํ•˜๊ฒŒ ์ฝ”๋“œ ์ •๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค. 

 

์ƒ์„ฑ์ž ์ฃผ์ž…์„ ์ ์šฉํ•œ Repository ์˜ˆ์‹œ)

@Repository
@RequiredArgsConstructor
public class MemberRepository {

    private final EntityManager em;
    .
    .
    .
 }

 

+) Service ํด๋ž˜์Šค์—์„œ ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ์ด ์ผ์–ด๋‚˜๋Š” ๋ฉ”์†Œ๋“œ์˜ ๊ฒฝ์šฐ์—๋Š” Transactional ์–ด๋…ธํ…Œ์ด์…˜ ํ•„์ˆ˜! 

   ๋ฐ์ดํ„ฐ ์ฝ๊ธฐ๋งŒ ํ•œ๋‹ค๋ฉด ReadOnly = True๋กœ