Web Layer 1. ํํ ์ฌ์ฉํ๋ ์ปจํธ๋กค๋ฌ์ ํ ํ๋ฆฟ ์์ง์ ์์ญ 2. ํํฐ, ์ธํฐ์ ํฐ, ์ปจํธ๋กค๋ฌ ์ด๋๋ฐ์ด์ค ๋ฑ ์ธ๋ถ ์์ฒญ๊ณผ ์๋ต์ ๋ํ ์ ๋ฐ์ ์ธ ์์ญ์ ์๋ฏธํ๋ค. Service Layer 1. `@Service`์์ ์ฌ์ฉ๋๋ ์๋น์ค ์์ญ 2. ์ผ๋ฐ์ ์ผ๋ก Controller์ Repository์ ์ค๊ฐ ์์ญ์์ ์ฌ์ฉ๋๋ค. 3. @Transactional์ด ์ฌ์ฉ๋์ด์ผ ํ๋ค. Repository Layer 1. Database์ ๊ฐ์ ์ ์ฅ์์ ์ ๊ทผํ๋ ์์ญ 2. ์ด์ ์ ์์ฃผ ์ฌ์ฉ๋๋ Dao ์์ญ์ด๋ค. DTOs 1. DTO๋ ๊ณ์ธต ๊ฐ ๋ฐ์ดํฐ ๊ตํ์ ์ํ ๊ฐ์ฒด๋ฅผ ์๋ฏธํ๋ค. 2. ๋ทฐ ํ ํ๋ฆฟ ์์ง์์ ์ฌ์ฉ๋ ๊ฐ์ฒด๋ Repository๊ฐ ์๋ต์ผ๋ก ๋๊ฒจ์ฃผ๋ ๊ฐ์ฒด ๋ฑ์ ๋งํ๋ค. Domain Model 1. ๊ฐ๋ฐ ๋์(..
Spring JPA Hibernate์์ Entity์ ์์์ ๋ํด ๊ฒ์ํ์ฌ ๊ณต๋ถํ๋ ์ค ์ถ๊ฐ์ ์ผ๋ก ๊ถ๊ธํ ๋ถ๋ถ์ด ์๊ฒจ ์ ๋ฆฌํด๋ณธ๋ค. @MappedSuperClass ์ฌ๋ฌ ์ํฐํฐ์ ๊ณตํต์ ์ผ๋ก ์ฌ์ฉ๋๋ ํ๋๋ฅผ ์์๋ฐ๊ธฐ ์ํด ์ฌ์ฉํ๋ค. ์ํฐํฐ๋ค์ด ์์๋ฐ์ ์ฌ์ฉํ ํด๋์ค ์์ ์ ์ธํ๊ฒ ๋๋ฉด ํด๋น ํด๋์ค๋ Table๊ณผ ๋งคํ๋์ง ์๊ณ ๋จ์ํ ํ๋๋ฅผ ์์๋ฐ๊ธฐ ์ํ ํด๋์ค๊ฐ ๋๋ค. ์ด ํด๋์ค๋ ์์ฑํด์ ์ฌ์ฉํ ์ผ์ด ์์ผ๋ฏ๋ก ์ถ์ ํด๋์ค ์ ์ธ์ด ๊ถ์ฅ๋๋ค. @Embeddable (์๋ต ๊ฐ๋ฅํ๋ค! default ์) ์๋ฅผ ๋ค์ด Wardrobe Entity ๋ด์ ํน์ Writer ์ ๋ณด(String memberName, String memberId) ๊ฐ ๋ด๊ธด๋ค๊ณ ํด๋ณด์. ๊ทธ๋ฐ๋ฐ memberName, memberId๋ฅผ ๋ฐ๋ก ๋๋ฉด..
์คํ๋ง์ด ์ ํ์ํ๊ฒ ๋์์๊น? ์คํ๋ง ํ๋ ์์ํฌ๋ ๋ก๋ ์กด์จ์ด 2004๋ ์ ๋ง๋ ์คํ์์ค ํ๋ ์์ํฌ์ ๋๋ค. ์คํ๋ง ํ๋ ์์ํฌ ์ด์ ์ ์๋ฐ ๊ธฐ๋ฐ์ ์ํฐํ๋ผ์ด์ฆ ์ดํ๋ฆฌ์ผ์ด์ ์ ๋๋ถ๋ถ EJB(Enterprise Java Beans)๋ก ๊ฐ๋ฐ๋์์์ฃ . ํ์ง๋ง EJB๋ ํ์ต์ ๋ง์ ์๊ฐ์ด ํ์ํ๊ณ , ๊ฐ๋ฐ ๋ฐ ์ ์ง๋ณด์๊ฐ ์ด๋ ต๋ค๋ ์ , ๊ทธ๋ฆฌ๊ณ EJB ์ปดํฌ๋ํธ๋ฅผ ๋ฐฐ์นํ๊ธฐ ์ํ WAS(Web Application Server)๊ฐ ๊ต์ฅํ ๊ณ ๊ฐ์ ์ฅ๋น์๊ธฐ์ ๋ง์ ๊ฐ๋ฐ์๋ค์ ์ธ๋ฉด์ ๋ฐ์์ต๋๋ค. ๋ฌผ๋ก EJB์ ๋ฌธ์ ๊ฐ ์๋ค๋ ๊ฒ์ ์๋๋๋ค. ๊ทธ๋ ๊ธฐ์ ๊ธด ์๊ฐ๋์ ์ฌ์ฉ๋ฌ๊ฒ ์ฃ . ํ์ง๋ง EJB์ ๋ฌธ์ ์ ์ EJB ๋ต๊ฒ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ต์ฅํ ์ด๋ ต๋ค๋ ์ ์ ๋๋ค. EJB๋ฅผ ์ ๋๋ก ์ฌ์ฉํ๋ ค๋ฉด EJB์ ์ฑ๋ฅ์ ์ ์งํด์ฃผ๊ณ , ๋ค์ํ ๋์์ธ ํจํด์ ..