Recent Posts
Recent Comments
Archives
๋ฐ˜์‘ํ˜•
250x250
ยซ   2024/04   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Today
Yesterday

Total
04-29 18:53
๊ด€๋ฆฌ ๋ฉ”๋‰ด

Hey Tech

JPA์˜ ๊ฐœ๋…๊ณผ ์‚ฌ์šฉ ์ด์œ ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž! ๋ณธ๋ฌธ

SW ๊ฐœ๋ฐœ/Java

JPA์˜ ๊ฐœ๋…๊ณผ ์‚ฌ์šฉ ์ด์œ ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž!

Tony Park 2021. 12. 27. 23:16
728x90
๋ฐ˜์‘ํ˜•

๐Ÿ”ฅ ๋ชฉํ‘œ

JPA๊ฐ€ ๋“ฑ์žฅํ•œ ๋ฐฐ๊ฒฝ๋ถ€ํ„ฐ JPA์˜ ๊ธฐ๋ณธ์ ์ธ ๊ฐœ๋…์— ๋Œ€ํ•ด ์ดํ•ดํ•œ๋‹ค.

1.  JPA ๋“ฑ์žฅ ๋ฐฐ๊ฒฝ

SQL Mapper๋Š” SQL ๊ตฌ์กฐ/๊ตฌ๋ฌธ์— ๋Œ€ํ•œ ์˜์กด์„ฑ์ด ๋†’์•„ ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฌธ์ œ์ ์„ ์•ผ๊ธฐํ•˜๋Š”๋ฐ,

JPA๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์•„๋ž˜ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์  ์กด์žฌ

 

- ๊ฐ์ฒด์ง€ํ–ฅ ๋ฐ ๊ด€๊ณ„์ง€ํ–ฅ DB์˜ Paradigm ๋ถˆ์ผ์น˜ ์•ผ๊ธฐ

- ์œ ์ง€๋ณด์ˆ˜ ์–ด๋ ค์›€ ์•ผ๊ธฐ(e.g., ํ•„๋“œ ๋ณ€๊ฒฝ ์‹œ ๋ฐฉ๋Œ€ํ•œ ์ฟผ๋ฆฌ๋ฌธ ์ˆ˜์ • ํ•„์š”)

- ์ƒ์‚ฐ์„ฑ ์ €ํ•˜: ๋ฒˆ๊ฑฐ๋กœ์šด ๊ฐ์ฒด ํ•„๋“œ-SQL ์ƒํ˜ธ๋ณ€ํ™˜(๊ฐœ๋ฐœ์ž๊ฐ€ ๊ณง SQL Mapper๋ผ๊ณ  ํ•  ๋งŒํผ ๋ฐฉ๋Œ€ํ•œ SQL ์ž‘์—…๋Ÿ‰)

2.  JPA ๊ฐœ๋…

2.1.  JPA ๊ธฐ๋ณธ ๊ฐœ๋…

- Java Persistence API์˜ ์•ฝ์ž

- Java Application์—์„œ Relational Data Base(RDB) ์‚ฌ์šฉ ๋ฐฉ์‹์„ ์ •์˜ํ•œ ์ธํ„ฐํŽ˜์ด์Šค

- Java์—์„œ ์ œ๊ณตํ•˜๋Š” API๋กœ, Spring์—์„œ ์ œ๊ณตํ•˜๋Š” API ์•„๋‹˜

- Java์˜ Object-Relational Mapping(ORM) ๊ธฐ์ˆ  ํ‘œ์ค€ ๋ช…์„ธ

- ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด ์ฟผ๋ฆฌ ์ž‘์„ฑ์ด ๊ฐ€๋Šฅํ•œ Java Persistence Query Language(JPQL) ์ง€์›

2.2.  ORM ๊ธฐ๋ณธ ๊ฐœ๋…

- SQL ๊ตฌ๋ฌธ์„ ํ†ตํ•ด ์ง์ ‘ DB๋ฅผ ์กฐ์ž‘ํ•˜๋Š” SQL Mapper์™€ ๋‹ค๋ฅด๊ฒŒ, ORM์€ ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด ๊ฐ„์ ‘์ ์œผ๋กœ DB ์กฐ์ž‘(๊ฐ์ฒด์ง€ํ–ฅ ๊ฐœ๋ฐœ)

- SQL ๊ตฌ๋ฌธ์ด ์•„๋‹Œ ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด DB ๋ฐ์ดํ„ฐ ์กฐ์ž‘

- ORM ์˜ˆ์‹œ: JPA, Hibernate(Conf. SQL Mapper ์˜ˆ์‹œ: MyBatis, JDBC Template)

3.  JPA ๊ธฐ๋ณธ ๋™์ž‘ ๊ณผ์ •

๊ทธ๋ฆผ 1.  JPA ๋™์ž‘ ๊ณผ์ • ๋„์‹ํ™”

- JPA๋Š” Java Application๊ณผ JDBC ์‚ฌ์ด์—์„œ ๋™์ž‘(๊ทธ๋ฆผ 1 ์ฐธ๊ณ )

- JPA ๋‚ด๋ถ€์—์„œ JDBC API๋ฅผ ์‚ฌ์šฉํ•ด SQL์„ ํ˜ธ์ถœํ•˜๊ณ  DB์—์„œ ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ด


ํฌ์ŠคํŒ… ๋‚ด์šฉ์— ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋‹ค๋ฉด ์•„๋ž˜์— ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š”!

๊ณ ๋ง™์Šต๋‹ˆ๋‹ค :)

728x90
๋ฐ˜์‘ํ˜•
Comments