๐ป JAVA/์ ๋ฆฌ์ ๋ฆฌ์ ๋ฆฌ
ํ์ต ํ ๋ด์ฉ๋ค ์ ํ๋ฌธ ๋ฐ๋ณต๋ฌธ ๊ณผ์ ์ ์ถ ๊ณผ์ 0. JUnit5 ํ์ต ๊ณผ์ 1. live-study ๋์ ๋ณด๋๋ฅผ ๋ง๋๋ ์ฝ๋ ์์ฑ ๊ณผ์ 2. LinkedList ๊ตฌํ ๊ณผ์ 3. Stack ๊ตฌํ ๊ณผ์ 4. ์์ ๋ง๋ ListNode๋ฅผ ์ด์ฉํด์ Stack ๊ตฌํ ๊ณผ์ 5. Queue๋ฅผ ๊ตฌํ (Optional) ๋ฐฐ์ด์ ์ฌ์ฉํด์ ํ๋ฒ ListNode๋ฅผ ์ฌ์ฉํด์ ํ๋ฒ. ์ ํ๋ฌธ if๋ฌธ switch๋ฌธ if๋ฌธ if (์กฐ๊ฑด1) { // ์กฐ๊ฑด1์ด ์ฐธ์ผ ๋, ์คํ ( {} ์ค๊ดํธ ๋ธ๋ญ ์ ๋ถ๋ถ๋ง ์คํ!) } // if๋ฌธ์ด ์ข
๋ฃ ๋๊ณ ๋ ํ์ ์คํ (์กฐ๊ฑด1 ์ ๋ง์กฑ ์ํด๋ ์คํ๋๋ค.) if - else ๋ฌธ if(์กฐ๊ฑด1) { // ์กฐ๊ฑด1์ด ์ฐธ์ผ ๋ ์คํ } else { // ์กฐ๊ฑด1์ด ๊ฑฐ์ง์ผ ๋ ์คํ } ๋ค์ค if๋ฌธ if(์กฐ๊ฑด1)..
๐ป JAVA/์๋ฐ ORM ํ์ค JPA ํ๋ก๊ทธ๋๋ฐ
์๋ฐ ORM ํ์ค JPA ํ๋ก๊ทธ๋๋ฐ - ๊ธฐ๋ณธํธ์ ๊ณต๋ถํ๋ฉฐ ์ ๋ฆฌํ ๋ด์ฉ์
๋๋ค. ์๋ฐ ORM ํ์ค JPA ํ๋ก๊ทธ๋๋ฐ - ๊ธฐ๋ณธํธ - ์ธํ๋ฐ JPA๋ฅผ ์ฒ์ ์ ํ๊ฑฐ๋, ์ค๋ฌด์์ JPA๋ฅผ ์ฌ์ฉํ์ง๋ง ๊ธฐ๋ณธ ์ด๋ก ์ด ๋ถ์กฑํ์ ๋ถ๋ค์ด JPA์ ๊ธฐ๋ณธ ์ด๋ก ์ ํํํ๊ฒ ํ์ตํด์ ์ด๋ณด์๋ ์ค๋ฌด์์ ์์ ์๊ฒ JPA๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๊ธ ์น ๊ฐ๋ฐ ํ๋ก๊ทธ๏ฟฝ www.inflearn.com ๊ฐ ํ์
์ปฌ๋ ์
(์ฌ์ฉํ๋ฉด ์๋จ X, ์ํฐํฐ๋ก ์น๊ฒฉ์์ผ์ ์ฌ์ฉ O) @Entity public class Member { .. @ElementCollection @CollectionoTable(name = "FAVORITE_FOOD", joinColumn = @JoinColumn(name = "MEMBER_ID")) private Set fav..
๐ป JAVA/์ ๋ฆฌ์ ๋ฆฌ์ ๋ฆฌ
ํ์ตํ ๊ฒ ์ฐ์ ์ฐ์ฐ์ ๋นํธ ์ฐ์ฐ์ ๊ด๊ณ ์ฐ์ฐ์ ๋
ผ๋ฆฌ ์ฐ์ฐ์ instanceof assignment(=) operator ํ์ดํ(->) ์ฐ์ฐ์ 3ํญ ์ฐ์ฐ์ ์ฐ์ฐ์ ์ฐ์ ์์ (optional) Java 13. switch ์ฐ์ฐ์ ์ฐ์ ์ฐ์ฐ์ + ์ฐ์ฐ์ - ์ฐ์ฐ์ * ์ฐ์ฐ์ / ์ฐ์ฐ์ % ์ฐ์ฐ์ int a = 10; int b = 5; // + System.out.println(a + b); // - System.out.println(a - b); // * System.out.println(a * b); // / System.out.println(a / b); // % System.out.println(a % b); // string + string String p = "abc"; String q = "d..
๐ป JAVA/์๋ฐ ORM ํ์ค JPA ํ๋ก๊ทธ๋๋ฐ
์๋ฐ ORM ํ์ค JPA ํ๋ก๊ทธ๋๋ฐ - ๊ธฐ๋ณธํธ์ ๊ณต๋ถํ๋ฉฐ ์ ๋ฆฌํ ๋ด์ฉ์
๋๋ค. ์๋ฐ ORM ํ์ค JPA ํ๋ก๊ทธ๋๋ฐ - ๊ธฐ๋ณธํธ - ์ธํ๋ฐ JPA๋ฅผ ์ฒ์ ์ ํ๊ฑฐ๋, ์ค๋ฌด์์ JPA๋ฅผ ์ฌ์ฉํ์ง๋ง ๊ธฐ๋ณธ ์ด๋ก ์ด ๋ถ์กฑํ์ ๋ถ๋ค์ด JPA์ ๊ธฐ๋ณธ ์ด๋ก ์ ํํํ๊ฒ ํ์ตํด์ ์ด๋ณด์๋ ์ค๋ฌด์์ ์์ ์๊ฒ JPA๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๊ธ ์น ๊ฐ๋ฐ ํ๋ก๊ทธ๏ฟฝ www.inflearn.com JPA์ ๋ฐ์ดํฐ ํ์
๋ถ๋ฅ ์ํฐํฐ ํ์
@Entity๋ก ์ ์ํ๋ ๊ฐ์ฒด ๋ฐ์ดํฐ๊ฐ ๋ณํด๋ ์๋ณ์๋ก ์ง์ํด์ ์ถ์ ๊ฐ๋ฅ ์) ํ์ ์ํฐํฐ์ ํค๋ ๋์ด ๊ฐ์ ๋ณ๊ฒฝํด๋ ์๋ณ์๋ก ์ธ์ ๊ฐ๋ฅ ๊ฐ ํ์
int, Integer, String ์ฒ๋ผ ๋จ์ํ ๊ฐ์ผ๋ก ์ฌ์ฉํ๋ ์๋ฐ ๊ธฐ๋ณธ ํ์
์ด๋ ๊ฐ์ฒด ์๋ณ์๊ฐ ์๊ณ ๊ฐ๋ง ์์ผ๋ฏ๋ก ๋ณ๊ฒฝ์ ์ถ์ ๋ถ๊ฐ ๊ฐ์ ๋ณ๊ฒฝํ ๋, ์..
๐ป JAVA/์๋ฐ ORM ํ์ค JPA ํ๋ก๊ทธ๋๋ฐ
์๋ฐ ORM ํ์ค JPA ํ๋ก๊ทธ๋๋ฐ - ๊ธฐ๋ณธํธ์ ๊ณต๋ถํ๋ฉฐ ์ ๋ฆฌํ ๋ด์ฉ์
๋๋ค. ์๋ฐ ORM ํ์ค JPA ํ๋ก๊ทธ๋๋ฐ - ๊ธฐ๋ณธํธ - ์ธํ๋ฐ JPA๋ฅผ ์ฒ์ ์ ํ๊ฑฐ๋, ์ค๋ฌด์์ JPA๋ฅผ ์ฌ์ฉํ์ง๋ง ๊ธฐ๋ณธ ์ด๋ก ์ด ๋ถ์กฑํ์ ๋ถ๋ค์ด JPA์ ๊ธฐ๋ณธ ์ด๋ก ์ ํํํ๊ฒ ํ์ตํด์ ์ด๋ณด์๋ ์ค๋ฌด์์ ์์ ์๊ฒ JPA๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๊ธ ์น ๊ฐ๋ฐ ํ๋ก๊ทธ๏ฟฝ www.inflearn.com ์์์ฑ ์ ์ด : CASCADE ํน์ ์ํฐํฐ๋ฅผ ์์ ์ํ๋ก ๋ง๋ค ๋, ์ฐ๊ด๋ ์ํฐํฐ๋ ํจ๊ป ์์ ์ํ๋ก ๋ง๋ค๊ณ ์ถ์ ๋ : ๋ถ๋ชจ ์ํฐํฐ๋ฅผ ์ ์ฅํ ๋ ์์ ์ํฐํฐ๋ ํจ๊ป ์ ์ฅ. ์ํฐํฐ๋ฅผ ์ ์ฅํ ๋, ์ฐ๊ด๋ ์ํฐํฐ๋ ํจ๊ป ์์ํํ๋ ํธ๋ฆฌํจ์ ์ ๊ณตํจ CASCADE ์ ์ข
๋ฅ - ALL : ๋ชจ๋ ์ ์ฉ (๋ถ๋ชจ lifeCycle์ ๋ง์ถฐ์ผ ํ ๋) ALL์ ์ฌ..
๐ป JAVA/์๋ฐ ORM ํ์ค JPA ํ๋ก๊ทธ๋๋ฐ
์๋ฐ ORM ํ์ค JPA ํ๋ก๊ทธ๋๋ฐ - ๊ธฐ๋ณธํธ์ ๊ณต๋ถํ๋ฉฐ ์ ๋ฆฌํ ๋ด์ฉ์
๋๋ค. ์๋ฐ ORM ํ์ค JPA ํ๋ก๊ทธ๋๋ฐ - ๊ธฐ๋ณธํธ - ์ธํ๋ฐ JPA๋ฅผ ์ฒ์ ์ ํ๊ฑฐ๋, ์ค๋ฌด์์ JPA๋ฅผ ์ฌ์ฉํ์ง๋ง ๊ธฐ๋ณธ ์ด๋ก ์ด ๋ถ์กฑํ์ ๋ถ๋ค์ด JPA์ ๊ธฐ๋ณธ ์ด๋ก ์ ํํํ๊ฒ ํ์ตํด์ ์ด๋ณด์๋ ์ค๋ฌด์์ ์์ ์๊ฒ JPA๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๊ธ ์น ๊ฐ๋ฐ ํ๋ก๊ทธ๏ฟฝ www.inflearn.com ์ง์ฐ ๋ก๋ฉ(LAZY)์ ์ฌ์ฉํด์ ํ๋ก์๋ก ์กฐํ @Entity public class Member { @Id @GeneratedValue private Long id; @Column(name = "USERNAME") private String name; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name ..