๊ฐ์ฒด ์งํฅ, ๋๋ฉ์ธ ์ฃผ๋ ์ค๊ณ, ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ ๋ฑ์ ๊ด์ฌ์ด ๋ง์ ๊ฐ๋ฐ์์ ๋๋ค.
์ฃผ์ ์ ์:
- ๋๋ฉ์ธ ์ฃผ๋ ๊ฐ๋ฐ ์์ํ๊ธฐ
- ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ ์์ํ๊ธฐ
- JPA ํ๋ก๊ทธ๋๋ฐ ์ ๋ฌธ
- ์คํ๋ง5 ํ๋ก๊ทธ๋๋ฐ ์ ๋ฌธ
- JSP 2.3 ํ๋ก๊ทธ๋๋ฐ ์ ์
Courses
Reviews
- JPA & Spring Data JPA Basics
- Introduction to Object Oriented Programming
- JPA & Spring Data JPA Basics
- Introduction to Object Oriented Programming
Posts
Q&A
๊ฐ์ ์์ค ์ง๋ฌธ๋๋ ค์
์ธ์ด๋ ์คํ๋ง ๊ฐ์ ๋ฌธ์ ๋ผ๊ธฐ ๋ณด๋ค๋, ๊ฒฝํ๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค. ๊ฐ๋ฐ ๊ฒฝํ์ ์ข ๋ ํ๊ณ ๋์ ๋ค์ ๋ค์ด๋ณด์๋ฉด ์ ๋ฟ๋ ๋ด์ฉ์ด ๋ ๋์ด๋ ๊ฒ๋๋ค.
- 0
- 1
- 371
Q&A
6๋ถ 26์ด์ ๋งํ๋ ๊ฐ์ฒด์ ์์ ์๋ ํ๋ก์์ ๋ ๊ฐ์ฒด์ ๋ฉ์๋๋ฅผ ๋งํ๋๊ฑด๊ฐ์?
๋ค, ๋น์ทํฉ๋๋ค. ์กฐ๊ธ ๋ ๋งํ๋ฉด ์ธ๋ถ๋ ํ์ ํด๋์ค์์ ์ ๊ทผํ ์ ์๋ ๋ฉ์๋์ ๊ฐ๊น์ต๋๋ค.
- 0
- 1
- 355
Q&A
๊ฐ์ฒด์ ๊ธฐ๋ฅ๋ณด๋ค ์์ฑ์ ๋จผ์ ์ถ์ถํ๋ ๊ฒ์ ๋ํด ์๊ฒฌ์ ์ฌ์ญค๋ณด๊ณ ์ถ์ต๋๋ค.
๋ฐ์ดํฐ๋ฅผ ๊ตฌ์กฐํํ ๊ฒ์ ๊ด๋ จ ๋ฐ์ดํฐ๋ฅผ ์กฐ์ํ๋ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ ๊ฒ๋ ์ธ๋ถ์ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ผ๋ก ์ ์ํ๋ ๊ฒ ๋ง์ต๋๋ค.๋ณดํต DB์์๋ถํฐ ๊ตฌํ์ด ์ถ๋ฐํ ๋ ๋ง์ํ์ ๊ฒ์ฒ๋ผ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๋จผ์ ์๊ฐํ๊ณ ๊ทธ ๋ค์์ ๊ธฐ๋ฅ์ ๋์ถํ๊ฒ ๋์ฃ .์ค์ํ ์ ์ ์บก์ํ๋ฅผ ์ต๋ํ ์งํค๋ฉด ๋ฉ๋๋ค.์ค์ ๊ฐ๋ฐ์ ํ๋ค๋ณด๋ฉด ๋น์ฐํ ์๋ ๋ ๊ด์ ์ ์๋ค ๊ฐ๋ค ํ๊ฒ ๋ฉ๋๋ค.* ์ธ๋ถ ๊ด์ ์์ ์ฌ์ฉํ ๊ธฐ๋ฅ* ๊ตฌํ ๊ด์ ์์ ๋ฐ์ดํฐ/๊ตฌ์กฐ์ผ๋ฐฉ์ ์ผ๋ก ํ ๋ฐฉํฅ์ผ๋ก ์ค๊ณ๊ฐ ์งํ๋๊ธฐ ๋ณด๋ค๋ ๋ ๊ด์ ์ ์ค๊ฐ๋ฉด์ ์ค๊ณ๊ฐ ์์ฑ๋์ด ๊ฐ๋ค๊ณ ๋ณด๋ฉด ๋ฉ๋๋ค.
- 0
- 1
- 382
Q&A
์์กด ๋์ ๊ฐ์ฒด๋ฅผ ์ง์ ์์ฑํ์ ๋ ๋ฌธ์ ์ ๋ํด ์ง๋ฌธ๋๋ฆฝ๋๋ค.
์๋ ํ์ธ์. ์๋ ์ฝ๋๋ฅผ ๋ณด์ฃ .public class SomeService { private SmsSender sender = new SmsSender(); public void doSome() { ... // DB ์ฐ๋ ๋ฑ ์์ sender.send(to, msg); } }์ด ์ฝ๋์์ SomeService๋ SmsSender๋ฅผ new๋ก ์์ฑํด์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ์ฆ SomeService๊ฐ SmsSender๋ฅผ ์์กดํ๊ณ ์์ฃ .SMS๊ฐ ์๋๋ผ ์๋ฆผํก์ผ๋ก ๋ฉ์์ง๋ฅผ ๋ณด๋ด๋ผ๊ณ ์๊ตฌ์ฌํญ์ด ๋ณ๊ฒฝ๋๊ณ ์๋ฆผํก ๋ฐ์ก ๊ธฐ๋ฅ์ AlimtalkSender์ ๊ตฌํ๋์ด ์๋ค๊ณ ๊ฐ์ ํ๋ฉด, SmsSender ๋์ ์ AlimtalkSender๋ฅผ ์ฌ์ฉํ๋๋ก ๊ธฐ์กด ์ฝ๋๋ฅผ ๋ณ๊ฒฝํด์ผ ํ ๊ฒ๋๋ค.public class SomeService { private AlimtalkSender sender = new AlimtalkSender(); // ์ฆ ์ ์ฝ๋์ฒ๋ผ SmsSender๋ฅผ new๋ก ์์ฑํด์ ์ฌ์ฉ(์์กด)ํ๋ SomeService ์ฝ๋๊ฐ AlimtalkSender๋ฅผ ์์ฑํ๋๋ก ๋ฐ๋๋ ๊ฑฐ์ฃ .
- 0
- 2
- 378
Q&A
1:N ๋งคํ๊ณผ ํด๋น ๋ฐฉ์ ์ฐจ์ด๊ฐ ๋ญ๊ฐ์?
๊ฐ๋ ์ ์ผ๋ก ํ๋์ธ ๋์์ ๋งคํํ๊ณ ์ถ์ ๋ ์ฌ์ฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด ๊ฐ๊ด์ ๋ฌธ์ ๋ ์ง๋ฌธ๊ณผ ๋ณด๊ธฐ๋ก ๊ตฌ์ฑ๋์ด ์๋๋ฐ ์ด๋ ์ง๋ฌธ๊ณผ ๋ณด๊ธฐ๋ฅผ ๋ ํ ์ด๋ธ์ ๋๋ ์ ์ ์ฅํ ์ ์์ ๊ฒ๋๋ค. ์ฌ๊ธฐ์ '๊ฐ๊ด์ ๋ฌธ์ '๋ฅผ DB์ ๋งคํํ ๋ ๋ณด๊ธฐ๋ฅผ ์ฝ๋ ์ ์ ์ฌ์ฉํด์ ๋งคํํ ์ ์์ต๋๋ค.
- 0
- 2
- 436
Q&A
JoinColumn ์ง๋ฌธ
@OneToOne+@JoinColum ์ค์ ์ ํ๊ธฐ ์ํด์ user_email ์นผ๋ผ์ ๋์ํ๋ ์นผ๋ผ์ ์ค์ ํ ํ์๋ ์์ต๋๋ค.
- 0
- 1
- 400
Q&A
1:N ๋งคํ๊ณผ ํด๋น ๋ฐฉ์ ์ฐจ์ด๊ฐ ๋ญ๊ฐ์?
1:N์ ์ํฐํฐ์ ์ํฐํฐ ๊ฐ ๋งคํ์ ๋๋ค.์ํฐํฐ ๊ฐ ๋งคํ์ด๋ฏ๋ก ์๋ก ๋ ๋ฆฝ์ ์ธ ๋ผ์ดํ์ฌ์ดํด์ ๊ฐ์ต๋๋ค.์๋ฅผ ๋ค์ด, A์ B๊ฐ 1:N ๊ด๊ณ์ผ ๋ A๋ฅผ ์ญ์ ํ๋ค๊ณ ํด์ A์ ์ฐ๊ด๋ ๋ชจ๋ B๊ฐ ์ญ์ ๋์ง๋ ์์ฃ .๋ฌผ๋ก ์ํฐํฐ ๊ฐ ์ฐ๊ด์ ์์์ฑ ์ ํ ์ค์ ์ ํ๋ฉด ๊ฐ์ด ์ญ์ ๋์ง๋ง์. ๋ฐ๋ฉด์ ๊ฐ ์ฝ๋ ์ ์ ์ํฐํฐ์ ๊ฐ์ ๊ด๊ณ์ ๋๋ค.์ฆ ์ํฐํฐ๋ฅผ ์ญ์ ํ๋ฉด ์ํฐํฐ์ ์ํ ๊ฐ๋ ํจ๊ป ์ญ์ ๋ฉ๋๋ค.๋ํ ๊ฐ๋ง ๋ฐ๋ก ์กฐํํ ์ ์์ต๋๋ค. ์ํฐํฐ๋ฅผ ์กฐํํด์ผ ์ํฐํฐ์ ์ํ ๊ฐ๋ ๊ฐ์ด ์กฐํ๊ฐ ๋์ง์.
- 0
- 2
- 436
Q&A
7๊ฐ์์ SecondaryTable์ ์ ์ฌ์ฉํ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
@Embedded๋ก ๋งคํํ ๋์์ด ์ํฐํฐ์ ๊ฐ์ ํ ์ด๋ธ์ด ์๋ ๋ค๋ฅธ ํ ์ด๋ธ์ธ ๊ฒฝ์ฐ์, ์กฐ์ธํ ํ ์ด๋ธ์ ์๋ ค์ฃผ๊ธฐ ์ํด์ @SecondaryTable์ ์ด์ฉํ๋๋ฐ์,์ดํด๊ฐ ์ ๋๋ค๊ณ ํ๋ ๋ถ๋ถ์ด @SecondaryTable ์์ฒด๋ฅผ ๋ง์ํ์๋ ๊ฑธ๊น์? ์๋๋ฉด @Embeddable์ ๋ค๋ฅธ ํ ์ด๋ธ๋ก ๋งคํํ ์ผ์ด ์๋๋๋ฅผ ๋ง์ํ์๋ ๊ฑธ๊น์?
- 0
- 1
- 573
Q&A
JPA ์ค๋ฌด @Entity์ @Embeddable ๋์ฒดํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๊ฐ์?
@Embeddable์ ๊ฐ(Value)๋ฅผ ํํํ๋ ๋ชจ๋ธ์ ๋งคํํ ๋ ์ฃผ๋ก ์ฌ์ฉํฉ๋๋ค. ์ค๋ฌด์์ @Embeddable์ ์ ํ์ฉํ ์๋ก ๋ชจ๋ธ์ด ํ๋ถํด์ง์ฃ . ์ด ๊ฐ ๋ชจ๋ธ์ ์ ํ์ฉํ๋ค๋ ๊ฒ์ ๊ทธ ๋งํผ ์กฐ์ง/๊ฐ์ธ์ ๋ชจ๋ธ ๋ฐฉ์/์ญ๋ํ๊ณ ๋ ์ฐ๊ฒฐ์ด ๋ฉ๋๋ค.๊ทธ๋์ ์กฐ์ง/๊ฐ์ธ์ด ๋ชจ๋ธ์ ์ค๊ณ ๊ฒฐ๊ณผ๋ฌผ์ ๋ฐ๋ผ ์ฌ์ฉํ๋ ๋น์จ์ด ๋ฌ๋ผ์ง๋๋ค. ๋์ผํ ํ ์ด๋ธ์ ๋ฐธ๋ฅ๋ก๋, ์ํฐํฐ๋ก๋ ๋งคํํ๋ค๋ ๊ฒ์ ๋๊ตฐ๊ฐ์๊ฒ๋ ์ํฐํฐ์ธ๋ฐ, ๋๊ตฐ๊ฐ์๋ ๋ฐธ๋ฅ๋ผ๋ ์๊ธฐ๋ก ๋ค๋ฆฝ๋๋ค.๋ช ๋ น ๋ชจ๋ธ๊ณผ ์กฐํ ๋ชจ๋ธ์ ๋๋ ์ ๊ตฌํํ๋ฉด ๊ทธ๋ด ๊ฐ๋ฅ์ฑ์ด ์๋ค๊ณ ์๊ฐํฉ๋๋ค(CQRS).๋ช ๋ น ๋ชจ๋ธ์์๋ ์ํฐํฐ์๋ฐ, ์กฐํ ๋ชจ๋ธ์์๋ ๋ฐธ๋ฅ๋ผ๋๊ฐ ํ๋ ์์ผ๋ก์.
- 0
- 1
- 488
Q&A
๋๋ฉ์ธ๊ณผ JPA ์ํฐํฐ
์ฐ์ ๊ฐ์ธ์ ์ผ๋ก๋ ๋๋ฌด ์๋ฒฝํ๊ฒ JPA์ ๋ํ ์์กด์ ์ ๊ฑฐํ๋ ค๊ณ ๋ ธ๋ ฅํ์ง ์์๋ ๋๋ค๊ณ ์๊ฐํฉ๋๋ค. ํฐ ํ์์ ๊ตฌ์กฐ๋ฅผ ๊นจ๋จ๋ฆฌ์ง ์๋ ์ ์์ JPA์ ์์กดํ๋ ์ ๋๋ ํ์ฉํด๋ ๊ด์ฐฎ๋ค๊ณ ๋ด ๋๋ค.Order์ OrderJpaEntity๋ฅผ ๊ผญ ๋ถ๋ฆฌํด์ผ ํ๋ค๋ฉด Order๋ฅผ ์ธํฐํ์ด์ค๋ ์ถ์ ํด๋์ค๋ก ๋ง๋ค๊ณ OrderJpaEntity๋ Order๋ฅผ ์์๋ฐ๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ ธ๊ฐ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ์ด๋๋ฆฌํฌ์งํ ๋ฆฌ๋ save๋ find์์ Order ํ์ ์ ์ฌ์ฉํ๊ณ ๋ฆฌํฌ์งํ ๋ฆฌ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ํด๋์ค๋ ๋ด๋ถ์ ์ผ๋ก OrderJpaEntity๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ ์ฌํ ๋ฐฉ์์ผ๋ก Order ์ธํฐํ์ด์ค/์ถ์ ํด๋์ค๊ฐ ์๊ณ , ์ด Order๋ฅผ ์์๋ฐ์ ํด๋์ค๊ฐ ๋ด๋ถ์ ํ๋๋ก JPA์ฉ ์ํฐํฐ๋ฅผ ํ๋๋ก ๊ฐ์ ธ์ ๋ณ๊ฒฝ์ด ๋ฐ์ํ๋ฉด ์ ํํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์๋ ์์ ๋ฏ ํฉ๋๋ค.ํ์ง๋ง ์ด๋ ๊ฒ ํด์ ์ป๊ฒ ๋๋ ์ค์ง์ ์ธ ์ด์ ์ด ๋ฌด์์ด ์๋์ง๋ ํ ๋ฒ ๊ณ ๋ฏผํด ๋ณผ ํ์๊ฐ ์์ต๋๋ค.
- 0
- 1
- 717