Skip to content

Soobinhand/JPA_STUDY

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

5 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

JPA ( Java Persistence API )

JPA ์ •์˜

  • ์ž๋ฐ” ORM ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ํ‘œ์ค€ ๋ช…์„ธ๋กœ JAVA์—์„œ ์ œ๊ณตํ•˜๋Š” API์ด๋‹ค.
  • ์ž๋ฐ”์—์„œ RDBMS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์„ ์ •์˜ํ•œ ์ธํ„ฐํŽ˜์ด์Šค์ด๋‹ค.
  • JPA๋Š” ํŠน์ • ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์•„๋‹ˆ๋‹ค.
  • ๊ฐ์ฒด ์ง€ํ–ฅ ๋„๋ฉ”์ธ ๋ชจ๋ธ๊ณผ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ ๊ฐ„์˜ ๋‹ค๋ฆฌ ์—ญํ• .

JPA ๋™์ž‘ ๋ฐฉ๋ฒ•

  • JAVA๊ฐ€ JDBC API์— ๋ช…๋ น์„ ๋‚ด๋ฆฌ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, JPA๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด JPA๊ฐ€ JDBC API๋ฅผ ์‚ฌ์šฉํ•ด์„œ DB์™€ ํ†ต์‹ ํ•˜๊ณ  SQL์„ ํ˜ธ์ถœํ•˜๊ณ  ๋ฐ˜ํ™˜ํ•จ.
  • ์ €์žฅ ์‹œ, JPA๊ฐ€ Entity๋ฅผ ๋ถ„์„ํ•˜๊ณ  SQL ์ƒ์„ฑ

JPA ์žฅ์ 

  • ๊ฐœ๋ฐœ์ด ํŽธ๋ฆฌ. ๊ธฐ๋ณธ์ ์ธ CRUD์šฉ SQL์„ ์ง์ ‘ ์ž‘์„ฑํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.
  • DB ๋…๋ฆฝ์ ์ธ ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅ. JPA๋Š” DB์— ์ข…์†์ ์ด์ง€ ์•Š์•„์„œ DB๊ฐ€ ๋ณ€๊ฒฝ๋˜๋”๋ผ๋„ JPA๊ฐ€ ํ•ด๋‹น DB์— ๋งž๋Š” ์ฟผ๋ฆฌ๋ฅผ ์•Œ์•„์„œ ์ƒ์„ฑ.
  • ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์‰ฌ์›€. ํ…Œ์ด๋ธ” ๋ณ€๊ฒฝ ์‹œ JPA์˜ ์—”ํ‹ฐํ‹ฐ๋งŒ ์ˆ˜์ •ํ•˜๋ฉด ๋œ๋‹ค.

JPA ๋‹จ์ 

  • ํ•™์Šต์ด ์–ด๋ ค์›€
  • ํŠน์ • DB ํ•จ์ˆ˜ ์‚ฌ์šฉ ๋ถˆ๊ฐ€.
  • ํ…Œ์ด๋ธ”์„ ์• ์ดˆ์— ๊ฐ์ฒด ์ง€ํ–ฅ์ ์œผ๋กœ ์„ค๊ณ„ํ•ด์•ผ ํ•จ.

JPA ์‚ฌ์šฉ ์ด์œ 

  • ์‹ ๊ทœ ๊ฐœ๋ฐœ, ์‹ ๊ทœ ์ปฌ๋Ÿผ ์ถ”๊ฐ€ ์‹œ์— CRUD SQL์„ ๋ฐ˜๋ณต์ ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.
  • ๊ทธ๋Ÿฌ๋‹ค ๋ณด๋‹ˆ, ์ˆ˜์ • ์ž‘์—…์ด ๋ฐ˜๋ณต๋จ.
  • ์ด์— ๋”ฐ๋ผ, DB ์„ค๊ณ„๊ฐ€ ์šฐ์„ ์‹œ๋˜์—ˆ๊ณ , ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์žฅ์ ์€ ์‚ด๋ฆฌ์ง€ ์•Š๊ณ  ๋‹จ์ˆœํžˆ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ ๋ชฉ์ ์œผ๋กœ๋งŒ ์‚ฌ์šฉ๋˜์—ˆ๋‹ค.
  • ์ด๋Ÿฌํ•œ DB ์ค‘์‹ฌ ์„ค๊ณ„์—์„œ ๋ฒ—์–ด๋‚˜๊ธฐ ์œ„ํ•ด ๋งŽ์€ ๋…ธ๋ ฅ์„ ๊ฐ€ํ–ˆ์œผ๋ฉฐ, ๊ทธ ๊ฒฐ๊ณผ ๊ฐ์ฒด์™€ ํ…Œ์ด๋ธ”์„ ๋งคํ•‘ํ•ด์ฃผ๋Š” ORM์ด ์ฃผ๋ชฉ ๋ฐ›์Œ.
  • ์ž๋ฐ”์—์„œ๋Š” JPA๋ผ๋Š” ํ‘œ์ค€ ์ŠคํŽ™์„ ์ •์˜ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

@Id

  • ๋ณดํ†ต Primary Key๋ฅผ ๊ฐ€์ง€๋Š” ๋ณ€์ˆ˜์— ์„ ์–ธํ•จ.

@GeneratedValue

  • ํ•ด๋‹น Id๊ฐ’์„ ์–ด๋–ป๊ฒŒ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ• ์ง€ ์ „๋žต์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Œ.

@Table

  • ๋ณ„๋„์˜ ์ด๋ฆ„์„ ๊ฐ€์ง„ DB ํ…Œ์ด๋ธ”๊ณผ ๋งคํ•‘ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๊ธฐ๋ณธ์ ์œผ๋กœ @Entity๋กœ ์„ ์–ธ๋œ ํด๋ž˜์Šค์˜ ์ด๋ฆ„์€ ์‹ค์ œ DB์˜ ํ…Œ์ด๋ธ” ๋ช…๊ณผ ์ผ์น˜ํ•˜๋Š” ๊ฒƒ์„ ๋งคํ•‘ํ•œ๋‹ค.
  • ๋”ฐ๋ผ์„œ, @Entity ํด๋ž˜์Šค๋ช…๊ณผ DB์˜ ํ…Œ์ด๋ธ”๋ช…์ด ๋‹ค๋ฅด๋ฉด @Table(name = "Member") ๊ฐ™์€ ํ˜•์‹์œผ๋กœ ์ž‘์„ฑํ•˜๋ฉด ์ด๋ฆ„์„ ๋‹ค๋ฅด๊ฒŒ ํ•ด์„œ ๋งคํ•‘ ๊ฐ€๋Šฅ.

@Column

  • ํ•„์ˆ˜๋Š” ์•„๋‹˜.
  • DB์˜ ์ปฌ๋Ÿผ๋ช…์„ ๋‹ค๋ฅด๊ฒŒ ์ฃผ๊ณ  ์‹ถ๋‹ค๋ฉด @Column(name = "column")๊ฐ™์€ ํ˜•์‹์œผ๋กœ ์ž‘์„ฑํ•จ.
  • ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜๋ช…๊ณผ ์ผ์น˜ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ปฌ๋Ÿผ์„ ๋งคํ•‘ํ•จ.

About

๐Ÿ’จ STUDY JPA

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages