๐Ÿ’ป ๊ณต๋ถ€ ๊ธฐ๋ก/Spring JPA

Spring JPA | JPA(Java Persistence API)

  • -
ํ•ด๋‹น ๋‚ด์šฉ์€ ๊ณต๋ถ€์˜ ๋ชฉ์ ์œผ๋กœ ๊ธฐ๋ก๋˜์—ˆ์œผ๋ฉฐ,
์•„๋ž˜ ๋‚ด์šฉ์€ ๋ชจ๋‘ ๊ตฌ๊ธ€ ๊ฒ€์ƒ‰์œผ๋กœ ๊ณต๋ถ€ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.
์—ด์‹ฌํžˆ ๋ฐฐ์šฐ๋Š” ์ค‘์ž…๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

 

 


 

 

๐Ÿ“Œ JPA(Java Persistence API)

์ž๋ฐ” ORM(Object Relational Mapping) ๊ธฐ์ˆ ์— ๋Œ€ํ•œ API ํ‘œ์ค€ ๋ช…์„ธ๋ฅผ ๋œปํ•œ๋‹ค.

 

๐Ÿ“Œ ORM ๊ธฐ์ˆ ์ด๋ž€?

ORM ๊ธฐ์ˆ ์€ ๊ฐ์ฒด์™€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋ฅผ ๋งคํ•‘ํ•ด์ฃผ๋Š” ๊ธฐ์ˆ ์ด๋‹ค.
 - Object Relational Mapping
๊ฐ์ฒด๋Š” ๊ฐ์ฒด๋Œ€๋กœ, ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Œ€๋กœ ์„ค๊ณ„ํ•˜๊ณ , ORM ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ค‘๊ฐ„์—์„œ ๋งคํ•‘์„ ํ•ด์ค€๋‹ค.

 

๐Ÿ“Œ JPA๋Š” ORM์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์ธํ„ฐํŽ˜์ด์Šค์˜ ๋ชจ์Œ์ด๋‹ค.

๋‹จ์ˆœํ•œ ๋ช…์„ธ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ตฌํ˜„์ด ์—†๊ณ , ์ž๋ฐ” ์• ํ”Œ๋ฆฌ์ผธ์ด์…˜ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ• ์ง€ ์ •์˜ํ•˜๋Š” ํ•˜๋‚˜์˜ ๋ฐฉ๋ฒ•์ด๋‹ค.
 - ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์•„๋‹ˆ๋‹ค.
JPA์˜ ๊ตฌํ˜„์ฒด๋ฅผ ํ†ตํ•ด์„œ JPA๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿ“Œ Hibernate?

JPA๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋Œ€ํ‘œ์ ์ธ ์˜คํ”ˆ์†Œ์Šค, JPA์˜ ๊ตฌํ˜„์ฒด๋‹ค.
  • JPA์˜ ํ•ต์‹ฌ์ธ EntityManagerFactory, EntityManager, EntityTransaction ๋“ฑ์„ ์ƒ์†๋ฐ›์•„ ๊ตฌํ˜„ํ•œ๋‹ค.
  • JPA๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋‹ค๋ฅธ  ๊ตฌํ˜„์ฒด๋“ค๋กœ๋Š” EclipseLink, DataNucleus ๋“ฑ์ด ์žˆ๋‹ค.
  • Hibernate๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ JDBC๋ฅผ ์ด์šฉํ•ด ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์ปค๋„ฅ์…˜์„ ๋งบ๊ณ  ์ƒํ˜ธ์ž‘์šฉ์„ ํ•œ๋‹ค.

 

๐Ÿ“Œ Spring Data JPA

Spring Data JPA๋Š” JPA๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ํŽธํ•˜๋„๋ก ๋งŒ๋“ค์–ด๋†“์€ ๋ชจ๋“ˆ์ด๋‹ค.
JPA๋ฅผ ํ•œ ๋‹จ๊ณ„ ๋” ์ถ”์ƒํ™”์‹œํ‚จ Repository ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•œ๋‹ค.
Hibernate์˜ ๊ตฌํ˜„์ฒด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
๊ฐ„๋‹จํ•œ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์„ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค.

JPA, Hibernate, Spring Data JPA

 

 

 

์ถœ์ฒ˜ | _์—ฐ๊ตฌ์†Œ์žฅ_

 

[JPA] JPA๋ž€? Spring Data JPA๋ž€? Hibernate๋ž€?

JPA(Java Persistent API)๋ž€? JPA๋Š” ์ž๋ฐ” ORM(Object Relational Mapping) ๊ธฐ์ˆ ์— ๋Œ€ํ•œ API ํ‘œ์ค€ ๋ช…์„ธ๋ฅผ ๋œปํ•œ๋‹ค. ORM ๊ธฐ์ˆ ์ด๋ž€? ORM ๊ธฐ์ˆ ์€ ๋ง ๊ทธ๋Œ€๋กœ ๊ฐ์ฒด์™€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋ฅผ ๋งคํ•‘ํ•ด ์ฃผ๋Š” ๊ธฐ์ˆ ์ด๋‹ค. ๊ฐ์ฒด๋Š” ๊ฐ

code-lab1.tistory.com

 

'๐Ÿ’ป ๊ณต๋ถ€ ๊ธฐ๋ก > Spring JPA' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

Spring JPA | JPA Auditing ๊ฐœ๋…  (0) 2023.06.01
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.