๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ61 03/08(๊ธ) ๋ด์ผ๋ฐฐ์์บ ํ Java 52์ผ์ฐจ TIL - @OneToOne ๐ ์ค๋์ ํ์ต ํค์๋ @OneToOne ๐ฅ @OneToOne : @OneToOne ์ ๋ํ ์ด์ ์ 1:1 ๊ด๊ณ๋ฅผ ๋งบ์ด์ฃผ๋ ์ญํ ์ ํฉ๋๋ค. : ๊ณ ๊ฐ Entity์ ์์ Entity๊ฐ 1:1 ๊ด๊ณ๋ผ ๊ฐ์ ํ์ฌ ๊ด๊ณ๋ฅผ ๋งบ์ด๋ด ๋๋ค. โ๏ธ ๋จ๋ฐฉํฅ ๊ด๊ณ - ์ธ๋ํค์ ์ฃผ์ธ ์ ํ๊ธฐ : Entity์์ ์ธ๋ํค์ ์ฃผ์ธ์ ์ผ๋ฐ์ ์ผ๋ก N์ ๊ด๊ณ์ธ Entity์ด์ง๋ง 1:1 ๊ด๊ณ์์๋ ์ธ๋ํค์ ์ฃผ์ธ์ ์ง์ ์ง์ ํด์ผํฉ๋๋ค. : ์ธ๋ํค ์ฃผ์ธ๋ง์ด ์ธ๋ํค๋ฅผ ๋ฑ๋ก, ์์ ์ญ์ ํ ์ ์์ผ๋ฉฐ, ์ฃผ์ธ์ด ์๋ ์ชฝ์ ์ค์ง ์ธ๋ํค๋ฅผ ์ฝ๊ธฐ๋ง ๊ฐ๋ฅํฉ๋๋ค. : @JoinColumn()์ ์ธ๋ํค์ ์ฃผ์ธ์ด ํ์ฉํ๋ ์ ๋ํ ์ด์ ์ ๋๋ค. - ์ปฌ๋ผ๋ช , null ์ฌ๋ถ, unique ์ฌ๋ถ ๋ฑ์ ์ง์ ํ ์ ์์ต๋๋ค. ์์ Entity๊ฐ ์ธ๋ํค์ ์ฃผ์ธ์ธ ๊ฒฝ์ฐ // ์์ @E.. 2024. 3. 8. 03/07(๋ชฉ) ๋ด์ผ๋ฐฐ์์บ ํ Java 51์ผ์ฐจ TIL - Cascade, orphanRemoval ๐ ์ค๋์ ํ์ต ํค์๋ Cascade, orphanRemoval ๐ฅ Cascade (์์์ฑ ์ ์ด) - ์ฌ์ฉ ์์น : ์ฐ๊ด๊ด๊ณ์ ์ฃผ์ธ ๋ฐ๋ํธ - ๋ถ๋ชจ ์ํฐํฐ(N:1 ์์ 1) : ์ฆ, @OneToMany๊ฐ ์๋ ์ชฝ or @OneToOne๋ ๊ฐ๋ฅ - ์ฌ์ฉ ์กฐ๊ฑด : ์์ชฝ ์ํฐํฐ์ ๋ผ์ดํ์ฌ์ดํด์ด ๋์ผํ๊ฑฐ๋ ๋น์ทํด์ผํ๋ค. : ex) ๊ฒ์๊ธ์ด ์ญ์ ๋๋ฉด ์ฒจ๋ถํ์ผ๋ ๊ฐ์ด ์ญ์ ๋์ด์ผ ํ๋ค. : ๋์ ์ํฐํฐ๋ก์ ์์์ฑ ์ ์ด๋ ํ์ฌ ์ํฐํฐ์์๋ง ์ ์ด ๋์ด์ผ ํ๋ค. (๋ค๋ฅธ ๊ณณ์์ ๋ ๊ฑธ๋ฉด ์๋จ) : ex) ์ฒจ๋ถํ์ผ์ ๊ฒ์๊ธ์ด ์๋ ๋ค๋ฅธ๊ณณ์์ ์์์ฑ ์ ์ด๋ฅผ ํ๋ฉด ์๋๋ค. - ์ต์ ์ข ๋ฅ ALL : ์ ์ฒด ์ํ ์ ์ด PERSIST : ์ ์ฅ ์ํ ์ ์ด REMOVE : ์ญ์ ์ํ ์ ์ด MERGE : ์ ๋ฐ์ดํธ ์ํ ์ ์ด REFERESH.. 2024. 3. 7. 03/06(์) ๋ด์ผ๋ฐฐ์์บ ํ Java 50์ผ์ฐจ TIL - ORM ๐ ์ค๋์ ํ์ต ํค์๋ ORM ๐ฅ ORM ORM์ Object Relational Mapping(๊ฐ์ฒด-๊ด๊ณ-๋งคํ)์ ์ฝ์์ด๋ค. ORM์ ๊ฐ์ฒด์ DB์ ๊ด๊ณ๋ฅผ ๋งคํํด์ฃผ๋ ๋๊ตฌ์ด๋ค. ORM์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๊ฐ์ฒด์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ฅผ ์๋์ผ๋ก ๋งคํํด์ฃผ๋ ๋๊ตฌ์ด๋ค. ORM์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๊ฐ์ฒด์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ด์ ์ค๊ณ์ ์ญํ ์ ํ๋ค. ORM์ MVC ํจํด์์ ๋ชจ๋ธ์ ๊ธฐ์ ํ๋ ๋๊ตฌ์ด๋ค. ORM์ ๊ฐ์ฒด์ ๋ชจ๋ธ ์ฌ์ด์ ๊ด๊ณ๋ฅผ ๊ธฐ์ ํ๋ ๋๊ตฌ์ด๋ค. โ๏ธ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ฐ์ฒด๋ก ๋งคํํ๋ ค๋ ์ด์ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ์ ์ฅ์ ์ ํ์ฉํ ์ ์๋ค. ์ด๋ฅผ ํตํด, ๋น์ฆ๋์ค ๋ก์ง ๊ตฌํ ๋ฐ ํ ์คํธ ๊ตฌํ์ด ํธ๋ฆฌํด์ง๋ค. ๊ฐ์ข ๋์์ธ ํจํด์ ์ฌ์ฉํ์ฌ ์ฑ๋ฅ ๊ฐ์ ์ด ๊ฐ๋ฅํ๋ค. ์ฝ๋ ์ฌ์ฌ์ฉ ๐ฅ ORM์ ๋ฌธ์ ์ ๊ณผ ํด๊ฒฐ.. 2024. 3. 6. 03/05(ํ) ๋ด์ผ๋ฐฐ์์บ ํ Java 49์ผ์ฐจ TIL - DAO, DTO, VO ๐ ์ค๋์ ํ์ต ํค์๋ DAO, DTO, VO ๐ฅ DAO, DTO, VO - DAO : Database์ ์ ๊ทผํ๋ ์ญํ ์ ํ๋ ๊ฐ์ฒด - DTO : ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๊ธฐ ์ํ ๊ฐ์ฒด - VO : ๊ฐ ์์ฒด๋ฅผ ํํํ๋ ๊ฐ์ฒด ๐ฅ DAO (Data Access Object) DB์ data์ ์ ๊ทผํ๊ธฐ ์ํ ๊ฐ์ฒด์ด๋ค. DB์ ์ ๊ทผํ๊ธฐ ์ํ ๋ก์ง์ ๋ถ๋ฆฌํ๊ธฐ ์ํด ์ฌ์ฉํ๋ค. ์ง์ DB์ ์ ๊ทผํ์ฌ data๋ฅผ ์ฝ์ , ์ญ์ , ์กฐํ ๋ฑ ์กฐ์ํ ์ ์๋ ๊ธฐ๋ฅ์ ์ํํ๋ค. MVC ํจํด์ Model์์ ์ด์ ๊ฐ์ ์ผ์ ์ํํจ. ๐ฅ DTO (Data Transfer Object) DTO๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๊ธฐ ์ํ ๊ฐ์ฒด์ด๋ค. DTO๋ ๋ก์ง์ ๊ฐ์ง์ง ์๋ ์์ํ ๋ฐ์ดํฐ ๊ฐ์ฒด๋ก Getter์ Setter๋ง ๊ฐ์ง ํด๋์ค์ด๋ค. ์ฌ๋ฌ ๋ ์ด์ด ๊ฐ ๋ฐ์ด.. 2024. 3. 5. 03/04(์) ๋ด์ผ๋ฐฐ์์บ ํ Java 48์ผ์ฐจ TIL - Optional ๐ ์ค๋์ ํ์ต ํค์๋ Optional ๐ฅ Optional - ์๋ฐ8์์๋ Optional ํด๋์ค๋ฅผ ์ฌ์ฉํด Null Pointer Exception ์ ๋ฐฉ์งํ ์ ์๋๋ก ๋์์ค๋๋ค. - Optional ์ null์ด ์ฌ ์ ์๋ ๊ฐ์ ๊ฐ์ธ๋ Wrapper ํด๋์ค์ ๋๋ค. - Optional ์ด ๋น์ด์๋๋ผ๋, ์ฐธ์กฐํด๋ Null Pointer Exception ์ด ๋ฐ์ํ์ง ์์ต๋๋ค. - Optional ์ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ๋ฅผ ํํํ๊ธฐ ์ํ ํด๋์ค์ ๋๋ค. ๐ฅ Optional ๊ฐ์ฒด ์ ๊ทผ Optional ๊ฐ์ฒด์ ์ ๊ทผํ๊ธฐ ์ํด์๋ get() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ค. ๊ทธ๋ฌ๋, ์ด ๋ฐฉ๋ฒ์ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ์ ์์ค๊ฐ ๋ฐ์ํ ์ ์์ผ๋ฏ๋ก isPresent() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ, ๊ฐ์ด ์กด์ฌํ๋์ง์ ์ฌ๋ถ๋ฅผ ํ์ธํ๋ ๊ฒ์ด ์ข์ต๋๋ค. Op.. 2024. 3. 4. 02/29(๋ชฉ) ๋ด์ผ๋ฐฐ์์บ ํ Java 47์ผ์ฐจ TIL - Git ๋ฉ์ผ ์ฃผ์, ์ฌ์ฉ์ ์ด๋ฆ ํ์ธ ๋ฐ ๋ณ๊ฒฝ ๐ ์ค๋์ ํ์ต ํค์๋ git config ๐ฅ Git config ํํ๋ก์ ํธ๋ฅผ ํ๊ณ Contributors์ ์ ์์ด๋๊ฐ ์ ๋ ์ ์์ํ์ต๋๋ค. ๊ทธ๋์ ๊ฒ์์ ํด๋ณธ ๊ฒฐ๊ณผ ํฐ๋ฏธ๋์ Github ๊ณ์ ์ด๋ฆ๊ณผ ์ด๋ฉ์ผ์ด ์ผ์นํด์ผ ํ๋ค๊ณ ํด์ ๋ค์ ์ค์ ์ ํด์ฃผ์์ต๋๋ค. git config --list๋ก ํ์ฌ ์ด๋ฆ๊ณผ ์ด๋ฉ์ผ์ ํ์ธํ ํ, git config --global user.name "sample" git config --global user.email "sample@email.com" ์ ๊ฐ์ ๋ช ๋ น์ด๋ก ๋ฐ๊ฟ์ฃผ๋ฉด ๋ค์๋ถํฐ commitํ ๊ทธ๋ํ์ ๋จ๊ฒ ๋ ๊ฒ์ ๋๋ค! ๐ ์ค๋์ ํ๊ณ ํํ๋ก์ ํธ๊ฐ ๋๋ฌ์ต๋๋ค. ๋ฐฐ์ธ ๊ฒ์ด ์ฐธ ๋ง์๊ณ ์ฑ์ฅ์ ํ ๊ฒ ๊ฐ์์ ์ข์์ต๋๋ค. ๊ธํ ์ผ ์ฌ๋ ์ฃผ๋ง ๋์ ์ด์ฌํ ๊ฐ์ธ๊ณต๋ถํ๋ฉฐ ๋ ๋ฐ์ .. 2024. 2. 29. ์ด์ 1 2 3 4 5 ยทยทยท 11 ๋ค์